Composer PSR-4 自动加载接口弃用通知
Composer PSR-4 Autoload Interface Deprecation Notice
我无法理解这个简单的界面有什么问题。
<?php
namespace App\Interfaces;
use Illuminate\View\View;
interface renderData
{
public function renderAsHtml(): View;
}
当我composer dump-autoload
收到以下通知
Deprecation Notice: Class App\Interfaces\renderData located in ./app/Interfaces/RenderData.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v2.0.
composer.json 自动加载部分:
"autoload": {
"psr-4": {
"App\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
文件夹结构为:
<root_project>
app
Console
...
我已经尝试将应用程序重命名为 App 然后转储自动加载,但问题仍然存在。
可能是app/Interfaces/RenderData'app文件夹首字母小写,App\Interfaces'命名空间首字母大写
确保文件夹结构和命名与命名空间匹配。
这是composer
最新版本的主要原因。
使用
检查您的作曲家版本
composer -V
使用
安装另一个版本
composer self-update 1.6.3
并从您的项目中删除供应商文件夹。
并使用以下命令:
composer install
composer update
composer dump-autoload
希望它能奏效。
我无法理解这个简单的界面有什么问题。
<?php
namespace App\Interfaces;
use Illuminate\View\View;
interface renderData
{
public function renderAsHtml(): View;
}
当我composer dump-autoload
收到以下通知
Deprecation Notice: Class App\Interfaces\renderData located in ./app/Interfaces/RenderData.php does not comply with psr-4 autoloading standard. It will not autoload anymore in Composer v2.0.
composer.json 自动加载部分:
"autoload": {
"psr-4": {
"App\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
文件夹结构为:
<root_project>
app
Console
...
我已经尝试将应用程序重命名为 App 然后转储自动加载,但问题仍然存在。
可能是app/Interfaces/RenderData'app文件夹首字母小写,App\Interfaces'命名空间首字母大写
确保文件夹结构和命名与命名空间匹配。
这是composer
最新版本的主要原因。
使用
检查您的作曲家版本composer -V
使用
安装另一个版本composer self-update 1.6.3
并从您的项目中删除供应商文件夹。
并使用以下命令:
composer install
composer update
composer dump-autoload
希望它能奏效。