Chr*_*itz 18 php composer-php laravel-4
在我的laravel项目中,我创建了一个名为的模型CustomerLinks.该模型位于该app/models文件夹中.我的作曲家文件有一个自动加载:
"autoload": {
"classmap": [
...
"app/models",
...
],
...
},
Run Code Online (Sandbox Code Playgroud)
我use在我的ExtendedUserController中有一个语句引用CustomerLinks:
<?php
...
use CustomerLinks;
...
class ExtendedUserController extends UserController {
Run Code Online (Sandbox Code Playgroud)
我的理解是,由于composer文件中的autoload属性在类映射中有app/models,这意味着我应该能够在use CustomerLinks没有名称空间前缀的情况下使用.
这是有效的,但每当我更改我的ExtendedUserControler并重新加载我的浏览器时,我都会收到错误消息:
The use statement with non-compound name 'CustomerLinks' has no effect
Run Code Online (Sandbox Code Playgroud)
该错误指向use CustomerLinks行扩展用户控制器.
当我做的时候composer dump-autoload一切正常,但是当我必须遵循这个模式时,它变得非常恼人
进行更改 - >转储自动加载 - >刷新浏览器 - >重复
有没有办法处理错误?
Sve*_*ven 29
如果您不在命名空间内(即您在根命名空间中),并且您要使用的类也不在命名空间中(即也在根命名空间中),那么使用use没有意义,因为代码将起作用如果没有它.您没有使用此声明导入任何内容.
Composer与此无关,也没有任何其他自动加载.这就是PHP本身的工作原理.