【问题标题】:is it possible to use laravel without composer dump-autload? [duplicate]是否可以在没有 composer dump-autoload 的情况下使用 laravel? [复制]
【发布时间】:2014-10-14 07:20:28
【问题描述】:

因为我创建了一个不同于标准 laravel 文件夹结构的其他文件夹结构,所以现在每当我在 cms 层中创建新控制器时,我都必须执行 composer dump-autoload,在应用程序层中它将能够找到没有 @ 的控制器987654322@。 是否可以删除它并让它始终找到我正在寻找的控制器? 谢谢

我的文件夹结构是这样的:

doc root\
---- app
-------- controller
-------- views

---- cms
-------- controller
-------- views

---- public
---- vendor

【问题讨论】:

  • 您需要提供更多信息。
  • 我已经尝试过了,但这并没有改变我的问题,我仍然需要做 composer dump-autoload

标签: php laravel directory


【解决方案1】:

如果您不想在每次添加新文件(例如控制器)时运行 composer dump-autoload,则需要使用 PSR-4 自动加载。

app 中创建一个名为Acme 的新文件夹。在该文件夹中,您可以创建更多文件夹,ControllersModels

现在您可以通过将其添加到您的 autoload 部分来使用 PSR-4 自动加载来编辑您的作曲家文件:

"psr-4": {
    "Acme\\": "app/Acme"
}

编辑文件后,您需要运行composer dump-autoload(您只需执行一次,而不是在Acme 文件夹中添加新文件后)。

现在您可以随意添加要使用的文件了。您需要记住的唯一重要的事情是在每个文件的开头使用namespace Acme\Path\To\File;。因此,如果您要在 Acme\Controllers 中添加一个名为 TestController 的控制器,您需要它是这样的:

<?php
namespace Acme\Controllers;

class TestController extends \BaseController {
    // Methods here
}

阅读更多关于命名空间的信息here

【讨论】:

    猜你喜欢
    • 2014-03-26
    • 2017-03-28
    • 2016-01-23
    • 2013-12-14
    • 1970-01-01
    • 2017-03-05
    • 2016-09-11
    • 2018-06-06
    • 2017-05-13
    相关资源
    最近更新 更多