如果这是重复的,我深表歉意;请指导我正确的方向。
我知道我们可以从 /config/app.php
在 Laravel 中创建类别名.但是,尝试使用相同的方法创建命名空间别名失败。
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => [
...
/*
* My custom namespace aliases
*/
'MyNamespace' => 'App\Models\MyNamespace',
],
在 thinker 中对此进行测试会返回以下结果:
>> new \MyNamespace\MyClass();
PHP Fatal error: Class 'MyNamespace/MyClass' not found in Psy Shell code on line 1
你知道在 Laravel 中创建命名空间别名的方法吗?
最佳答案
使您的代码 PSR-4 兼容并将其放入 composer.json
"autoload": {
"psr-4": {
"MyNamespace\\": "src/MyNameSpace",
}
},
然后运行
composer dumpautoload
.只要您坚持子文件夹作为命名空间的约定,您的类就会自动加载。src/MyNamespace/SomeClass.php
会有 namespace MyNamespace;
和 class SomeClass
.src/MyNamespace/Something/SomethingElse.php
会有 namespace MyNamespace\Something;
和 class SomethingElse
.
关于php - Laravel 中的命名空间别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58731031/