次のように構成されたPHPプロジェクトがあります。
--root
|--dr1
| |---dr2
| |--testclass.php
|--start.php
|--bootstrap.php
testclass.phpには次のものが含まれています。
namespace dr1\dr2;
class testclass {
...
}
bootstrap.phpには次のものが含まれています。
define('DIR_SEP', DIRECTORY_SEPARATOR);
define('ROOT', dirname(__FILE__) . DIR_SEP);
function __autoload($class)
{
$path = ROOT . str_replace('\\', DIR_SEP, $class);
$file = $path . '.php';
if( is_file($file) ) require_once($file);
}
spl_autoload_extensions('.php');
spl_autoload_register('__autoload');
start.phpには次のものが含まれています。
$class = 'dr1\dr2\testclass.php';
$obj = new $class();
start.phpを実行すると、 5行目dr1\dr2\testclass.php
にメッセージが見つからないというメッセージが表示されましstart.php
た。理由がわかりませんでした。誰か助けてくれるだろう。どうもありがとう。