私は提供する__autoload
機能を経験してPHP
いました。
しかし、これはindex.php
私が持っているものです:-
define('app_path', realpath('../'));
$paths = array(
app_path, get_include_path());
set_include_path(implode(PATH_SEPARATOR, $paths));
function __autoload($classname)
{
$filename = str_replace('\\', '/', $classname.'.php');
require_once $filename;
}
use \engine\controllers as Controllers;
$data = new Controllers\base(); // This one is line no. 25 (Here is error)
echo $data->mind('Hi');
そして、これは私のものbase.php
です:-
namespace controllers;
class base {
public function __construct() {
echo __CLASS__ . '<br/>';
echo __NAMESPACE__;
}
public function mind($myname)
{
echo $myname;
}
}
そしてこのエラーをスローします:
私のディレクトリ構造は次のとおりです。
app -> engine -> controller -> base.php
app -> index.php
何が問題なのかわかりません。私はちょうど使用方法を学んでいてnamespace
、__autoload
私も試しspl_autoload_register
ましたが、成功しませんでした。よろしくお願いします。
編集:1
また、それを spl_autoload_register に置き換えたい場合は、それをどのように実装できますか。