我在包裝師學習上創建了一個簡單的包(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自動編碼的工作原理。謝謝你解決這個謎團! –