構成ファイルの下に自動ロード機能を追加して、コアクラスを自動ロードしようとしましたが、結果はありません。現在、フックを使用して機能させようとしていますが、残念ながら同じ否定的な結果になります。foreach 内でファイルパスを出力しようとすると、次のパスが表示されます。
application/core/CI_Utf8.phpapplication/core/CI_URI.phpapplication/core/CI_Router.phpapplication/core/CI_Output.phpapplication/core/CI_Security.phpapplication/core/CI_Input.phpapplication/core/CI_Lang.phpapplication/core/CI_Loader.phpapplication/core/CI_DB.phpapplication/core/CI_DB.php
誰かが私が間違っていることを教えてください。前もって感謝します
$hook['post_controller_constructor'][] = array(
'class' => 'Autoloader',
'function' => 'register',
'filename' => 'Autoloader.php',
'filepath' => 'hooks',
'params' => array(APPPATH.'core/')
);
$hook['post_controller_constructor'][] = array(
'class' => 'Autoloader',
'function' => 'register',
'filename' => 'Autoloader.php',
'filepath' => 'hooks',
'params' => array(APPPATH.'controllers/')
);
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Autoloader {
private $_include_paths = array();
public function register(array $paths = array())
{
$this->_include_paths = $paths;
spl_autoload_register(array($this, 'autoloader'));
}
public function autoloader($class)
{
foreach($this->_include_paths as $path)
{
$filepath = $path . $class . EXT;
if(!class_exists($class, FALSE) AND is_file($filepath))
{
include_once($filepath);
echo $filepath;
break;
}
}
}
}
?>