#file1
spl_autoload_register(function($class){
require_once "{$class}.php";
});
new classes\Foo();
#file2
namespace classes;
class Foo implements toolInterface {
function __construct(){
echo __CLASS__;
}
public function tool(){
}
}
spl_autoload_registerに問題があります。上記の例は正常に機能しますが、使用しようとするuse classes
と致命的なエラーが発生します。この問題を解決する方法を知っている人はいますか?
//fatal error
spl_autoload_register(function($class){
require_once "{$class}.php";
});
use classes;
new Foo();
エイリアスを使用して外部の完全修飾名を参照する機能
名前空間名(FooBarなどのグローバル名ではなくFoo \ Barなどの名前空間区切り文字を含む完全修飾名前空間名)の場合、インポート名は完全修飾である必要があるため、先頭の円記号は不要であり、推奨されません。現在の名前空間に関連して処理されません。
したがって、完全修飾名が必要です
use classes\Foo;
new Foo();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加