나는 PHP 네임 스페이스에 대해 거의 배우면서 간단한 오토로드 기능을 만들기 시작했다. 무엇 O 한 일은이었다 : 나는 어떤 앨리어싱을 사용하지 않거나 오기 문이 예 경우간단한 PHP 오토로더에 관한 질문
function __autoload($name) {
echo $name . "<br />";
require_once $name . ".php";
}
그래서,이 작동합니다. use MainNamespace\Subnamespace
때문에 나는 내가 가진 가정 것을 한 경우 : 자동로드에서 $name
이 GreatApp\Models\User
그렇게 GreatApp\Models\User.php
이 발견되기 때문에 작동
new GreatApp\Models\User();
:
\GreatApp\Models\User.php
\GreatApp\Models\Project.php
\GreatApp\Util\Util.php
\GreatApp\Util\Test\Test.php
내가하려고하면. 하지만 수행 할 때
use GreatApp\Models;
new User();
지금 $name
그냥 User
및 User.php
찾을 수 없습니다 때문에 실패. 그럼 어떻게 자동 로딩을 설정해야합니까?
대신 __autoload 기능의 spl_autoload_register 사용해야 주 (루트) 네임 스페이스에 속해야합니다. – Macmade