在我的laravel项目中,我创建了一个名为CustomerLinks
的模型。该模型位于app/models
文件夹中。我的composer文件自动加载:
"autoload": {
"classmap": [
...
"app/models",
...
],
...
},
字符串
我在ExtendedUserController中有一个use
语句引用了CustomerLinks
:
<?php
...
use CustomerLinks;
...
class ExtendedUserController extends UserController {
型
我的理解是,由于composer文件中的autoload属性在classmap中有app/models,这意味着我应该能够使用没有名称空间前缀的use CustomerLinks
。
这是可行的,但每当我更改ExtendedUserController并重新加载浏览器时,我都会收到错误:
The use statement with non-compound name 'CustomerLinks' has no effect
型
错误指向use CustomerLinks
线路扩展用户控制器。
当我执行composer dump-autoload
时,一切都很好,但当我必须遵循该模式时,它变得非常令人恼火
进行更改->转储自动加载->刷新浏览器->重复
有没有什么办法来处理这个错误?
1条答案
按热度按时间ha5z0ras1#
如果你不在一个命名空间中(也就是说你在根命名空间中),并且你想要使用的类也不在一个命名空间中(也就是说也在根命名空间中),那么使用
use
就没有意义了,因为代码在没有它的情况下也会工作。Composer与此无关,也没有任何其他的自动加载。这是PHP自己的工作方式。