【发布时间】:2020-06-17 22:21:19
【问题描述】:
我对 Autoload Composer 有点陌生,但希望我的作曲家概念是正确的:基本上你交出一些基本信息(composer.json),然后作曲家生成你必须包含的类,然后完成工作你自找的。对吧?
好吧,在尝试设置 Autoload Composer 数小时后,这就是我的结果:
作曲家.json:
"name": "lordrazen/dpgenerator",
"description": "Page to generate Datapacks out of Rawfiles",
"type": "project",
"license": "GPL",
"authors": [
{
"name": "LordRazen",
"email": "something@gmail.com"
}
],
"minimum-stability": "dev",
"require": {},
"autoload": {
"psr-4": {"Inc\\": "inc/"}
}
}
文件夹“Inc”中的类“Test.php”
namespace Inc;
class Test {
}
索引.php
if (file_exists(dirname(__FILE__) . '/vendor/autoload.php')) {
require_once (dirname(__FILE__) . '/vendor/autoload.php');
}
$test = new Test();
我还去了控制台中的项目目录并点击“composer update”命令。
嗯……还是不行:
致命错误:未捕获的错误:在 [...]/index.php:34 中找不到类“测试”堆栈跟踪:在第 34 行的 [...]/index.php 中抛出 #0 {main}
我的错误是什么?
【问题讨论】:
-
您说您在
Inc中有类Test.php,或者您在自动加载器中定义了命名空间Inc\` for the folderinc`。试着把它写成大写。 -
您是否尝试过使用正确的类名?您的项目中是否有任何类
Test,没有任何命名空间,或者您是否在Index.php中导入了该命名空间?
标签: php composer-php autoload