我在包装师学习上创建了一个简单的包(tommytest/tommytest)。它安装的很好,但是我必须在安装后立即运行“composer dump-autoload -o”。之前手动运行转储自动加载我得到这个:为什么安装我的软件包后必须运行Composer转储?
致命错误:类 'mysqlgridspace \页' 用C未找到:\ XAMPP \ htdocs中\简单\的index.php上线5
手动后运行转储自动加载它工作正常。安装软件包时不应该自动处理自动加载设置吗?
这里是我的composer.json(位于:简单/供应商/ tommytest/tommytest/composer.json)
{
"name": "tommytest/tommytest",
"type": "library",
"description": "Framework agnostic data grid",
"keywords": ["datagrid","data grid"],
"homepage": "https://github.com/escalibore/tommytest",
"license": "MIT",
"authors": [
{
"name": "Tommy Bert",
"email": "[email protected]",
"homepage": "http://tberthold.com",
"role": "Developer"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-4": {
"mysqlgridspace\\":"src/"
}
}
}
我的类文件(位于:简单/供应商/ tommytest/tommytest /src/Mysqlgridmain.class.php)
<?php
namespace mysqlgridspace;
class Page {
public function __construct()
{
echo "hello, i am a page.<br>";
}
}
class Book {
public function __construct()
{
echo "hello, i am a book.<br>";
}
}
感谢@localheinz,将每个类放入它自己的同名文件中,这让我更好地理解了psr-4自动编码的工作原理。谢谢你解决这个谜团! –