2015-04-19 53 views
1

我正想通過Symfony2的最佳實踐和糊塗了兩件事情:Symfony2的最佳實踐困惑

1 - 譯註使用 - 它說,對於路由n緩存,我們應該使用的標註。但是,我更願意使用ORM &驗證和YAML進行路由的註釋(所有路由都是單個文件)。這是怎麼一個不好的做法? http://symfony.com/doc/current/best_practices/controllers.html#routing-configuration

2 - 對於可重複使用的包(從未創建過),如果我希望包含任何JS庫(如JQuery),那麼這不是一種好的做法嗎?困惑。 http://symfony.com/doc/current/cookbook/bundles/best_practices.html#vendors

回答

2

請注意,「最佳實踐」並不意味着一切比什麼建議有不同是錯的。相反,如果你知道你爲什麼這麼做,那麼一切都是完美的。最佳實踐指南旨在爲初學者取消一些決定。他們已經很難學習框架,不得不做出決定放置代碼的位置以及使用哪種格式會使事情變得更加困難。

考慮到這一點,你所提到的最佳做法的原因:

1 - 譯註使用 - 它說,對於路由n緩存,我們應該使用的標註。但是,我更願意使用ORM &驗證和YAML進行路由的註釋(所有路由都是單個文件)。這是怎麼一個不好的做法? http://symfony.com/doc/current/best_practices/controllers.html#routing-configuration

擁有較少的文件,可以更容易地遵循這是怎麼回事。想象一下,有一個路線,控制器,一個實體和一些驗證。這意味着必須學習以下位置:app/config/routing.yml,src/AppBundle/Controller/StaticController.php,src/AppBundle/Entity/SomeEntity.php,src/AppBundle/config/validation.ymlsrc/AppBundle/config/doctrine/SomeEntity.orm.yml。這是一個非常大的名單,以獲得familair。

如果Symfony建議對所有內容使用註釋,則最終將顯示以下列表:src/AppBundle/Controller/StaticController.php,src/AppBundle/Entity/SomeEntity.php。這是一個很大的改進。這就是Symfony建議如果您開始學習框架時使用註釋的原因。如果你是Symfony的家庭成員,你可能會自己做出選擇,並決定你喜歡哪種格式,哪些你不喜歡(有些人喜歡批註,有些人討厭他們,喜歡Xml或Yaml)。

2 - 對於可重複使用的包(從未創建過),如果我希望包含任何JS庫(如JQuery),那麼這不是一個好習慣嗎?困惑。 http://symfony.com/doc/current/cookbook/bundles/best_practices.html#vendors

提交依賴通常不是很好。出於這個原因,作曲家創建。對於前端依賴項,將創建Bower/BowerPHP。使用類似的東西意味着你的代碼更容易分享。

當然,symfony作爲後端的框架,這是完全正常使用jQuery或任何庫你喜歡:)

+0

非常感謝你的解釋。這是我的第一個框架,我非常喜歡Symfony2。我希望在接下來的5-6個月裏,我會做得很好。 :) – Adi

+0

@Adi你應該接受這個答案:) – j0k

+1

@ j0k。抱歉。錯過了那部分。感謝您指出了這一點。 – Adi

1

1.that說:

讓你的控制器擴展FrameworkBundle基本控制器和使用註解儘可能配置路由,高速緩存和安全性。

對你有薄控制器,你只能在你的控制器annotaion路由&緩存&安全。

ORM映射&驗證是在實體沒有在控制器

和說:

另外,使用註釋路由,緩存和安全簡化了配置。您不需要瀏覽以不同格式(YAML,XML,PHP)創建的數十個文件:所有配置都在您需要的地方,並且只使用一種格式。

,因爲路由&安全&緩存都涉及到一個控制器,但ORM映射&驗證是diffrence,可以在onther地方使用(控制器,存儲庫,服務和...)

2.

對於可重複使用的軟件包(從未創建一個),如果我希望包括任何JS庫如jQuery那麼它是不是好的做法

如果您要使用第三方軟件包,那麼使用dependency manager作爲composer或bower會更好。

看到sonata admin bundle這是一個很好&大項目使用第三方束爲jQuery的涼亭,引導& ......

+0

所以路由應該使用註釋做什麼?作爲一名專業人員,您是否使用最佳實踐中提及的相同事物/標準? – Adi

+0

不,這篇文章沒有說你必須使用註釋,也就是說你可以使用註釋,因爲你可以在一個地方擁有所有的東西並且有一個好的視圖 – ghanbari

+0

再一個問題。與上述無關。我希望成爲一名優秀的PHP程序員並學習Symfony2 n相關技術。我需要學習多個框架才能成功嗎?我是一名自由職業者。謝謝 – Adi