在 laravel 中加载自定义 class 而不自动转储

Loading custom class in laravel without dump autoload

我在 /app/ 下有目录 /libraries/。库应该包含所有自定义文件和 类。我在那里放了新文件,但它不起作用,因为我需要 dump-autoload.. 问题是我不能这样做。无法访问终端等..

我在composer.json

中有这个
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/libraries",          // <<----- this one
        "app/tests/TestCase.php"
    ]
},

从一开始就在库中的另一个文件工作正常。

我的问题是如何加载这个新文件?

你可以试试我最近试过的东西,它对我有用。导航到 vendor/composer/。既然你说过你在库中有一个 php 文件并且它正在工作,这意味着你将在后续文件中拥有它并且你可以 copy/paste 行并用你的文件进行更改。

首先打开文件autoload_classmap.php并在数组底部添加

'yourfile' => $baseDir . '/app/libraries/yourfile.php',

第二次打开文件autoload_static.php并在底部再次添加您的文件

public static $classMap = array (
    ...
    'yourfile' => __DIR__.  '/../..' . '/app/libraries/yourfile.php',

保存两个文件并重新加载。在我的例子中,这加载了文件而不需要自动转储。