2015-12-02 65 views
3

我有一個小Silex應用程序正在進行。試圖獲得某種結構。作曲家自動加載 - 找不到類

這是我composer.json

{ 
    "require": { 
     "silex/silex": "~1.3" 
    }, 

    "autoload": { 
     "psr-0": { 
      "HelloWorld\\Controller": "src/HelloWorld/Controllers" 
     } 
    } 
} 

在我web/index.php文件我在src/HelloWorld/Controllers

namespace HelloWorld\Controller; 

class IndexController 
{ 

} 

$loader = require_once __DIR__.'/../vendor/autoload.php'; 

$ctrl = new \HelloWorld\Controller\IndexController(); // <- Doesn't work 

IndexController控制器我已經試過幾乎在每一個組合太陽。任何人都知道如何正確註冊。 Silex的東西加載好嗎?

FastCGI sent in stderr: "PHP message: PHP Fatal error: Class 'HelloWorld\Controller\IndexController' not found in /srv/http/web/index.php on line 6"

+1

我假設你在某個時候運行'''composer install''',對吧? –

+1

這似乎解決它後,也添加一個psr-4自動裝載。添加它作爲答案,我會接受。謝謝:) – Kal

+0

完成交易,很高興它的工作! :) –

回答

1

我相信問題是自動加載文件還未生成,以便它知道在哪裏可以找到類。嘗試運行

composer install

如果你想在將來更新你的網站的組成部分,在初始安裝後,可以隨時運行composer update更新的存儲庫。