2014-02-13 234 views
1

嘗試自動加載一些文件。 如果我在'根'composer.json中這樣做 - 它的作品。但是當我打算在'package composer.json'中加載類和文件時,它似乎根本沒有工作。作曲家自動加載

我的 '根' composer.json:

{ 
    "repositories": [ 
     { 
      "type": "git", 
      "url": "https://bitbucket.org/yuriikrevnyi/bitrix-teil-framework" 
     } 
    ], 
    "require": { 
     "mockery/mockery": "[email protected]", 
     "phpunit/phpunit": "3.7.*", 
     "yuriikrevnyi/bitrix-teil-framework": "dev-master" 
    }, 
    "autoload": { 
     "classmap": [ 
      "vendor/yuriikrevnyi/bitrix-teil-framework/framework/src" 
     ], 
     "files": [ 
      "vendor/yuriikrevnyi/bitrix-teil-framework/framework/start.php" 
     ] 
    } 
} 

和 '包composer.json':

{ 
    "name": "yuriikrevnyi/bitrix-teil-framework", 
    "description": "Framework for bitrix.", 
    "homepage": "https://bitbucket.org/yuriikrevnyi/bitrix-teil-framework", 
    "authors": [ 
     { 
      "name": "Yurii Krevnyi", 
      "homepage": "https://bitbucket.org/yuriikrevnyi" 
     } 
    ], 
    "autoload": { 
     "classmap": [ 
      "vendor/yuriikrevnyi/bitrix-teil-framework/framework/src" 
     ], 
     "files": [ 
      "vendor/yuriikrevnyi/bitrix-teil-framework/framework/start.php" 
     ] 
    } 
} 

如果我刪除從 '根composer.json' 自動加載 - 什麼也沒有發生。

我正在使用 - 作曲家dump-autoload -o來加載文件。

有人可以幫我一下嗎? 謝謝!

回答

1

您不應該引用vendor目錄。作曲家爲你處理那個目錄,但你不應該認爲那裏會存在。

假設你想使用自動加載的類文件是在$workDIR."yuriikrevnyi/bitrix-teil-framework/src"和start.php是在下面的目錄,在$workDIR."yuriikrevnyi/bitrix-teil-framework/的composer.json應該有類映射和文件中的條目定義爲:

"autoload": { 
    "classmap": [ 
     "src/" 
    ], 
    "files": [ 
     "start.php" 
    ] 
} 

當Composer將該依賴關係拉入主項目時,它將修改條目以指向供應商目錄中的正確位置。

+0

根本不工作:( – user2573863