2012-09-14 136 views
4

這是一個更具有美學價值的問題...作曲家的命名空間自動加載問題

我在現有項目中使用了composer.phar來自動加載我的類。

這是composer.json爲我的項目命名爲阿克米一個例子片段:

{ 
    "autoload": { 
     "psr-0": { 
      "Acme\\Mail": "modules/mail/src/", 
     } 
    } 
} 

和我的文件結構的標準桿是這樣的:

app.php 
composer.phar 
vendor/ 
modules/ 
    mail/ 
     src/ 
      Acme/ 
       Mail.php (contains Acme\Mail\Mail.php) 

我要堅持到文件夾「模塊/郵件」在我的情況下,不能重命名。

基本上這個工作,但我必須創建一個額外的文件夾下面Acmesrc是有點難看。

必須怎樣自動加載定義,如果我要離開了最高的命名空間部分Acme在我的郵件文件夾,所以它看起來是這樣的:

app.php 
composer.phar 
vendor/ 
modules/ 
    mail/ 
     src/ 
      Mail.php (contains Acme\Mail\Mail.php) 

,我仍然能在PHP中使用它像文件:

use Acme\Mail; 
$mail = new Mail(); 

或者這不可能?

+0

您應該閱讀PSR-0標準文檔https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md – AdrienBrault

回答