2014-01-10 65 views
0

舉個例子,如果我想創建一個需要Doctrine ORM的MVC作曲家插件,我會將該原則添加到該插件的composer.json的「require」中,對吧?需要其他作曲家包的作曲家包的正確目錄結構?

現在如果我想創建一個需要我剛創建的MVC作曲家插件的項目,該怎麼辦。我是否需要將學說添加到此項目的composer.json的「require」中?

在Symfony中,它似乎確實需要再次包含Doctrine ORM,但無論如何無論如何都有可能以某種方式使這個包含遞歸嗎?

謝謝!

編輯

它可能是由我的目錄設置錯誤引起的。讓我知道,如果是這樣的話,這裏是我的設置:

App 
-- my app classes (Controllers, Models, etc.) 
library 
-- my 
    -- library 
    -- Class 
    composer.json (in here I have require doctrine) 
vendor 
composer.json (I do not require doctrine here, 
should doctrine be added to my project when I do composer update in this case?) 

回答

1

作曲家將解決依賴的相關性,這也正是這一點。您可以簡單地使用require組件,並且該組件可以require其他組件等無限制,並且Composer將全部排序並安裝所有必需的依賴項。

+0

這可能是我的目錄安排錯了。我在我的問題中添加了更多信息,請讓我知道是否確實如此? – jaycode

+0

你是說你有兩個不同級別的'composer.json'文件?你應該把1)你的庫打包成一個Composer包,並將其正常的'composer.json'文件放在一個單獨的存儲庫中,2)你的應用程序及其''composer.json'文件,在其中你需要你的庫。然後運行Composer,它會將您的庫安裝到供應商文件夾中,以及所述庫的依賴關係。 – deceze

+0

好吧,我現在明白了,就像你寫的一樣。很顯然,我誤解了composer.json中的「require」和「autoload」項 - 當插件添加到「require」時,Composer可能只需要插件的需求。 – jaycode