Laravel 在自定义文件夹中自动加载 类
Laravel autoloading classes within custom folders
我有一个项目需要完成,所以我在创建新的 classes
时不再需要 运行 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
然后我继续在名为 TestFeature.php 的功能中创建了一个新的 class,它有一个静态函数,它简单地打印出它有效
我尝试在没有 composer dump-autoload 的情况下执行此操作,但它抛出一个错误,指出找不到 class。
在自定义文件夹中自动加载 classes 的最佳方法是什么?
谢谢
恐怕您为此使用了不正确的密钥 classmap
。你应该使用 psr-4
.
例如:
"autoload": {
"psr-4": {
"App\": "app/",
"Features\": "app/Features/"
},
"classmap": [ ... ]
},
然后 运行 composer dump-auto
.
P.S。将 Features
文件夹放在 app
文件夹下有点奇怪;因为 app
已经映射到 App
。
我有一个项目需要完成,所以我在创建新的 classes
时不再需要 运行 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
然后我继续在名为 TestFeature.php 的功能中创建了一个新的 class,它有一个静态函数,它简单地打印出它有效
我尝试在没有 composer dump-autoload 的情况下执行此操作,但它抛出一个错误,指出找不到 class。
在自定义文件夹中自动加载 classes 的最佳方法是什么?
谢谢
恐怕您为此使用了不正确的密钥 classmap
。你应该使用 psr-4
.
例如:
"autoload": {
"psr-4": {
"App\": "app/",
"Features\": "app/Features/"
},
"classmap": [ ... ]
},
然后 运行 composer dump-auto
.
P.S。将 Features
文件夹放在 app
文件夹下有点奇怪;因为 app
已经映射到 App
。