php - 类不符合 psr-4 自动加载标准。跳过
问题描述
我尝试使用 composer autoload 但我收到此错误
作曲家.json
{
"autoload":{
"psr-4":{
"App\\":"app/"
},
"files": ["app/functions/helper.php"]
},
"require": {
"vlucas/phpdotenv": "^2.4",
"altorouter/altorouter": "^1.2",
"philo/laravel-blade": "^3.1"
},
"config":{
"optimize-autoloader":true
}
}
我的终端输出
Generating optimized autoload files
Class App\Controllers\BaseController located in D:/php/Xamp/htdocs/MVC_PHP/app\controllers\BaseController.php does not comply with psr-4 autoloading standard. Skipping.
Class App\Controllers\IndexControllers located in D:/php/Xamp/htdocs/MVC_PHP/app\controllers\IndexControllers.php does not comply with psr-4 autoloading standard. Skipping.
Class App\RoutingDispatcher located in D:/php/Xamp/htdocs/MVC_PHP/app\routing\RoutingDispatcher.php does not comply with psr-4 autoloading standard. Skipping.
Generated optimized autoload files containing 508 classes
解决方案
PSR-4标准要求您的文件和目录区分大小写,并且相应的类和命名空间必须使用 PascalCase。
对于一个App\Controllers\BaseController
类,该文件应位于:
app/Controllers/BaseController.php
注意大写
C
第二个错误:对于顶级命名空间之后的任何命名空间,必须有一个同名的目录。
您有一个App\RoutingDispatcher
应该放置的类,app/RoutingDispatcher.php
但该app/routing/RoutingDispatcher.php
文件将对应于一个App\Routing\RoutingDispatcher
类。
您必须更改该类的名称空间或移动文件。
如果您更改其命名空间,请务必
app/routing
使用前导大写字母重命名目录。
推荐阅读
- node.js - 格式化数据以适应 GraphQL 模式
- php - Yii 1 Select2 从更新表单中获取选定的值
- sql - 在 Oracle 中执行脚本时 nextval 不起作用
- html - CSS 设计未显示在实时网站上
- rest - 如何使用 Docker Registry HTTP API V2 获取 docker 注册表中所有存储库的列表?
- python - 传递给 numpy.einsum() 的下标是什么意思?
- excel - 嵌套 IF 语句后循环不再起作用
- python - 当我尝试使用代理连接到站点时,我没有收到任何数据
- java - 为什么我得到一个空指针异常?
- excel - 如何使用条件格式?