【问题标题】:Laravel/Composer: The use statement with non-compound nameLaravel/Composer:使用非复合名称的语句
【发布时间】:2014-07-07 20:16:03
【问题描述】:

在我的 laravel 项目中,我创建了一个名为 CustomerLinks 的模型。该模型位于app/models 文件夹中。我的作曲家文件自动加载:

"autoload": {
    "classmap": [
        ...
        "app/models",
        ...

    ],
    ...
},

我的 ExtendedUserController 中有一个 use 语句,它引用了 CustomerLinks

<?php

...
use CustomerLinks;
...

class ExtendedUserController extends UserController {

据我了解,由于 composer 文件中的 autoload 属性在 classmap 中有 app/models,这意味着我应该能够在没有命名空间前缀的情况下使用 use CustomerLinks

这可行,但每当我更改我的 ExtendedUserControler 并重新加载我的浏览器时,我都会收到错误消息:

The use statement with non-compound name 'CustomerLinks' has no effect

错误指向use CustomerLinks 行扩展用户控制器。

当我执行composer dump-autoload 时,一切正常,但当我必须遵循模式时,它变得非常烦人

进行更改 -> 转储自动加载 -> 刷新浏览器 -> 重复

有没有办法处理这个错误?

【问题讨论】:

    标签: php laravel-4 composer-php


    【解决方案1】:

    如果你不在命名空间中(即你在根命名空间中),并且你要使用的类也不在命名空间中(即也在根命名空间中),那么使用use 没有意义,因为没有它,代码也能正常工作。您没有使用此语句导入任何内容。

    Composer 与此无关,也没有任何其他自动加载。 PHP 本身就是这样工作的。

    【讨论】:

    • 最后一句话对斯文没有帮助。我们都在学习连续体中的某个地方
    • 我认为关于我们魔法技术的哪一部分负责的信息是有效的信息。如果 TO 假设它应该改善永远不会奏效的情况,我应该告诉他他在事物之间的心理联系是错误的。它还允许他使用正确的文档网站来解决相关问题。
    • 删除使用库即可;线并再次运行。为我工作。
    猜你喜欢
    • 2017-05-17
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2012-03-08
    • 2017-10-04
    相关资源
    最近更新 更多