我正在創建一個類,該類將有一個公共方法,該方法返回由參數索引的值。目前我有一個捆綁包。我現在擁有的軟件包內的目錄是:Symfony 2 - 我應該在哪裏放置實用課程?
/Controller
/DataFixtures
/DependencyInjection
/Document
/Entity
/Resources
/Tests
什麼是這樣的類放置約定是什麼?
我正在創建一個類,該類將有一個公共方法,該方法返回由參數索引的值。目前我有一個捆綁包。我現在擁有的軟件包內的目錄是:Symfony 2 - 我應該在哪裏放置實用課程?
/Controller
/DataFixtures
/DependencyInjection
/Document
/Entity
/Resources
/Tests
什麼是這樣的類放置約定是什麼?
您的問題有點主觀,但根據Bundle Structure and Best Practices中列出的內容,Bundle只是名稱空間的代碼。如果實用程序類是一年級的,爲什麼不把它放入Bundle的根目錄?
Namespace Bundle\HelloBundle;
Class Utility {
public static function returnIndexedValueByParameter($parameter) {
...
}
}
文件名:
Bundle/HelloBundle/Utility.php
感謝您的建議。我決定在名爲Utility的包中創建一個目錄並將其粘貼在那裏。這個想法是通過快速閱讀http://symfony.com/doc/current/book/testing.html文檔提出的。在一個相關的問題中,我已經看到使用「Model」目錄的一些討論。我們有一些混合的ORM/MongoDB模型,我們計劃在mysql和一個Doctrine集合中保存數據。在你看來,「模型」會成爲放置這些混合模型的地方嗎? – gview 2012-04-03 19:38:28
啊,請放下相關問題的鏈接,交叉鏈接問題通常很有幫助。 – hakre 2012-04-03 19:45:25
抱歉,最後一點,我沒有跟着你......我們在談論什麼相關的問題? – gview 2012-04-03 19:53:24
Symfony的官方網站建議src/AppBundle/Utils
來源:http://symfony.com/doc/current/best_practices/business-logic.html
感謝您提供此更新,現在該文檔包含一個建議。 – gview 2015-11-20 17:52:00
那要看情況。你通常從寫一個首先失敗的測試開始。你能分享你的測試代碼嗎?那麼找到一個班級的正確位置通常很有幫助。 – hakre 2012-04-03 19:17:15
@hakre感謝您的建議。我很想開始採用TDD,但我還沒有。我會給它一個鞭打一個。由於這不是一個控制器,我在哪裏堅持測試?我只是把它放在Tests目錄下面嗎? – gview 2012-04-03 19:21:36