- PVSM.RU - https://www.pvsm.ru -
Fabien Potencier, ментейнер Symfony несколько дней назад представил черновую версию гайда лучшх практик [1], для разработки приложений с использованием Symfony, как фреймворка (напомню, что также это набор независимых компонентов).
Мы знаем, как сложно отучиться от старых привычек и некоторые советы шокируют вас, но следуя им вы сможете разрабатывать приложения быстрее, сделать их менее сложными и в то же время более качественными.
В любом случае стоит помнить, что это всего лишь рекомендации и ваша команда не обязана им следовать. Вы можете продолжать использовать свои подходы, Symfony достаточно гибок для любых нужд и это никогда не изменится.
Под катом я выписал основные тезисы, большинство из них подробно аргументируется внутри книги, в некоторых «шокирующих» местах помимо тезиса есть небольшое объяснение.
app/config/parameters.yml
.app/config/parameters.yml.dist
.app/config/parameters.yml
).SymfonyBundleFrameworkBundleControllerController
, использовать аннотации для роутинга и кеширования, когда это возможно.@Template()
для настройки шаблона, используемого контроллером. Аннотация полезна, но работает «магически», поэтому рекомендуется ее не использовать. Также использование этой аннотации замедляет ваше приложение на 21мс./**
* @Route("/{id}", name="admin_post_show")
*/
public function showAction(Post $post)
app/Resources/views/
.app/Resources/translations/
.Username
, а label.username
.anonymous
.bcrypt
для хеширования пользовательских паролей.access_control
. Когда возможно, используйте аннотацию @Security
. В более сложных ситуациях используйте сервис security.context
.web/
.UrlGenerator
.Автор: hell0w0rd
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/guide/71470
Ссылки в тексте:
[1] черновую версию гайда лучшх практик: http://symfony.com/doc/current/best_practices/index.html
[2] Composer: https://getcomposer.org/
[3] Twig: http://twig.sensiolabs.org/
[4] Assetic: https://github.com/kriswallsmith/assetic
[5] GruntJS: http://gruntjs.com/
[6] AngularJS: https://angularjs.org/
[7] Источник: http://habrahabr.ru/post/240187/
Нажмите здесь для печати.