我讨厌给“自动加载不起作用!!!”的噪音增加更多的信息,但是我似乎无法弄清楚这个问题,我想让它重新审视一下问题更少了。这是我的index.php文件:
<body>
因此,很明显,我正在使用来自作曲家的软件包ShinePHP(这是我制作的一个软件包,我仍在处理文档,因此目前我仅将其用于自己的项目,作曲家只是在制作包管理非常简单!)
无论如何...因为我在写这个问题,显然出现了以下错误:
<?php
declare(strict_types=1);
require_once 'vendor/autoload.php';
require_once 'model/PageNav.php';
use ShinePHP\{Crud, CrudException, EasyHttp, EasyHttpException, HandleData, HandleDataException};
// ALWAYS serve over encrypted channels
try {
EasyHttp::checkHttps();
} catch (EasyHttpException $ex) {
echo $ex;
}
try {
// check if it's a GET request, if it is, serve page, if not, do nothing
if (EasyHttp::isRequestMethod('GET')) {
$Page = new PageNav('Home', 'view/home.php');
$Page->buildPage();
exit;
}
}
catch (EasyHttpException $ex) {
echo $ex;
}
现在,我还没有手动触摸composer.json文件,因此它是:
Fatal error: Uncaught Error: Class 'ShinePHP\EasyHttp' not found in /Applications/XAMPP/xamppfiles/htdocs/KRTY/src/index.php:11 Stack trace: #0 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/KRTY/src/index.php on line 11
我在使用{
"require": {
"adammcgurk/shine-php": "~0.0.1"
},
"autoload": {
"psr-4": {
"ShinePHP\\": "src/"
}
}
}
文件时没有遇到任何错误(并且我尝试将路径更改为vendor/autoload.php
这样不存在的内容,这会引发错误,该怎么办?) ,我在Mac OS Mojave的XAMPP上运行PHP 7.2.7版本。这是目录结构,突出显示的index.php文件是上面的代码:
这是vendor/alkdjfladksf/autoload.php
的输出:
composer dump-autoload -o
所以...让更多的问题在Stack上出现... 我如何让作曲家使用代码中显示的类自动加载ShinePHP名称空间? >
答案 0 :(得分:2)
此依赖性为does not have any autoloading rules,因此Composer不知道在何处可以找到ShinePHP\EasyHttp
类。您需要在composer.json
软件包的shine-php
中添加自动加载配置:
"autoload": {
"psr-4": {
"ShinePHP\\": "src/"
}
},