【问题标题】:Laravel autoloading classes within custom foldersLaravel 在自定义文件夹中自动加载类
【发布时间】:2019-12-03 20:30:37
【问题描述】:

我有一个项目并且需要制作它,因此我在创建新类时不再需要运行 composer dump-autoload

该项目有这样的自定义文件夹 App\Features App\Concerns

我已经进入 composer.json,并将最后一个条目添加到以下内容:

"classmap": [
  "database/seeds",
  "database/factories",
  "app/Features"
],

然后我运行以下命令

php artisan clear-compiled composer dump-autoload php artisan optimize

然后我继续在 Features 中创建了一个名为 TestFeature.php 的新类,其中包含一个静态函数,可以简单地打印出它的工作原理

我尝试在没有 composer dump-autoload 的情况下执行此操作,但它会抛出一个错误,提示找不到该类。

在自定义文件夹中自动加载类的最佳方法是什么?

谢谢

【问题讨论】:

  • 你应该像你所做的那样将它们转储到作曲家自动加载中。我知道如果你使用 composer dump-autoload 就没有将它们放在类映射中的目的

标签: laravel laravel-5 composer-php psr-4


【解决方案1】:

恐怕您为此使用了不正确的密钥classmap。你应该使用psr-4

例如:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Features\\": "app/Features/"
    },
    "classmap": [ ... ]
},

然后运行composer dump-auto

附:将Features 文件夹放在app 文件夹下有点奇怪;因为app 已经映射到App

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2016-09-22
    • 2020-10-22
    • 2015-09-26
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    相关资源
    最近更新 更多