根據symfony的文檔網站上的this page,他們解釋瞭如何解決您的應用程序邏輯和最佳實踐。我在本文檔中缺少的一件事是存儲和使用實體的方式。有一個small section涵蓋了你的實體中的註釋的使用,但我們都使用現在,我希望你也可以。AppBundle的最佳實踐和如何進一步
到目前爲止,我的項目有以下實體:
+------------------------------------------------------------------------+
| Filename | Location | Type |
+------------------------------------------------------------------------+
| Account.php | src/AppBundle/Entity | Entity |
| AccountRepository.php | src/AppBundle/Entity/Repositories | Repository |
| News.php | src/AppBundle/Entity | Entity |
| NewsRepository.php | src/AppBundle/Entity/Repositories | Repository |
+------------------------------------------------------------------------+
現在我有麻煩創建Forum.php實體,我需要有4個數據庫表:
- forum_sections
- forum_categories
- forum_topics
- forum_posts
我是否需要在src/AppBundle/Entity
的一個名爲Forum.php的文件中創建4個實體,還是需要採取其他措施來實現存儲和使用這些實體的最佳實踐方式?看來,例如ForumSections.php
和其他三個文件佔用大量的空間,它只是醜陋的。
感謝您的閱讀,並提前感謝您抽出時間留下回復。如果在我的問題中有任何拼寫錯誤,我很抱歉。
這是一個很好的解決方案。我如何在我的控制器中調用實體?與$ this-> getDoctrine() - > getRepository('AppBundle:Forum:Category')''一樣,我會像'$ this-> getDoctrine() - > getRepository('AppBundle:News') –
你是對的。簡短的語法不能與我早先提出的第二種策略一起使用。你應該使用 - > getRepository('AppBundle \ Entity \ Forum \ Category')'。所以我認爲最好使用第一個策略。 –
我親身體驗過。你需要整個命名空間來獲取控制器中的實體。最好的方法是堅持你的答案中提供的第一個解決方案。 –