0
我正在通過PHP
提供__autoload
功能。__autoload命名空間類給文件找不到致命錯誤
然而,這是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如何可以實施來取代它。
OMG你是親愛的:*這就是爲什麼工程師是上帝的孩子......你們可以聞到每一個字母代碼。 –
此外,如果我想用'spl_autoload_register'替換它,這可以如何實現。 –