2015-11-02 100 views
-2

我有非常基本的Symfony2應用程序。我想在其中包含AngularJS。SymFony2中的angularJS?

  1. 我應該在哪裏放置我的Angular資源?
  2. 如何包含它們?
  3. 如何角和Symfony的

我看到官方文檔說我應該分裂前端和後端,這樣就不會有任何衝突之間的通信。

任何腳手架的例子?

回答

1

由於角度資源必須全部可以從網絡瀏覽器直接訪問,因此您應該將所有這些文件放在[Symfony app root]/web/目錄中。當HTTP請求請求位於那裏的文件時,它將被提供而不與框架的其餘部分交互。

可選地(最好)這些頁面可以被指向路由組件來製作漂亮的URL。

我同意Ben de Laporte關於創建REST API並允許Angular執行所有繁重工作的答案。有一個用於創建REST API的完整文檔包,Symfony調用了FOSRestBundle來幫助您入門。通過使用這種策略,您可以像使用外部API一樣使用Symfony中的任何操作。

+0

嗨@HPierce,感謝您的反饋。 視圖怎麼樣?既然AngularJS和Symfony都有自己的視圖,我應該忽略* .twigs並用角度(定義視圖,模板,路由等)構建整個前端?誰會服務於觀點? – miksiii

+0

@miksiii,是的。我認爲這是一個更好的解決方案。它應該允許你像對待任何其他API一樣對待你使用Symfony做的任何事情。 – HPierce

+0

我應該在哪裏放置角度視圖?在哪裏宣佈角度應用程序的主視圖?我應該將base.html.twig的擴展名重命名爲base.html,等等。應用程序結構應該是什麼樣子?謝謝 – miksiii

3

那麼,Symfony2是一個後端框架,AngularJS是一個前端框架。我會建議構建一個REST API並讓它返回JSON。在AngularJS中,您可以使用$resource與RESTful服務進行交互。