[英]Composer autoload can't find class
我正在嘗試創建一個MVC結構並使用composer來自動加載所有內容。
但我一直收到這個錯誤:
致命錯誤:未捕獲錯誤:第5行的C:\\ wamp64 \\ www \\ activity \\ Public \\ index.php中找不到類'App \\ Init'
|MainFolder
|App
|Public
|Vendor
|ACT
|composer
|autoload.php
|composer.json
{
"name": "vendor/activity",
"description": "descrip",
"require": {
"php": ">=5.6.25"
},
"authors":[
{
"name": "John Doe",
"email": "johndoe@gmail.com"
}
],
"autoload":{
"psr-4": {
"ACT\\": "vendor/",
"App\\": "/"
}
},
"config":{
"bin-dir": "bin"
}
}
<?php
namespace App;
class Init
{
public function __construct()
{
echo "Loaded!!";
}
}
<?php
require_once '../vendor/autoload.php';
$init = new \App\Init;
<?php
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
"ACT" => array($vendorDir . false),
"App" => array($baseDir . '/'),
);
Obs:已經做過composer dump-autoload
/vendor
。 autoload
引用/vendor
,這些軟件包應該都有自己的全功能自動加載器,作曲家會找到並使用它們。 "autoload":{
"psr-4": {
"App\\": "App/"
}
},
想想它就像告訴作曲家“在下面的文件夾中查找以命名空間foo\\bar\\
開頭的東西”。
注意 :文件夾名稱不必與命名空間匹配。
例如:遵循PSR / Composer的建議Vendor\\Package\\
方案
{
"autoload": {
"psr-4": {
"sammitch\\meatstacker\\": "src/"
}
}
}
然后:
\\sammitch\\meatstacker\\Client
映射到src/Client.php
\\sammitch\\meatstacker\\Bread\\Rye
映射到src/Bread/Rye.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.