Лучшие практики фреймворка Symfony

Лучшие практики фреймворка Symfony

Фреймворк Symfony хорошо известен своей огромной гибкостью и используется для построения микро-сайтов, приложений, обрабатывающих миллиарды связей и даже основ для других фреймворков. С момента его выпуска в июле 2011 года, общество многое узнало о том, что возможно, и о том, как делать всё наилучшим способом.

Эти общественные ресурсы - вроде постов в блогах или презентаций - создали неофициальный набор рекомендаций для разработки приложений Symfony. К сожалению, многие из этих рекомендаций не нужны для веб-приложений. В большинтве случаев, они слишком усложняют вещи и не следуют основной прагматической философии Symfony.

О чем этот справочник?

Этот справочник направлен на исправление этого, описывая лучшие практики для разработки веб-приложений с полным фреймворком Symfony. Этолучшие практики, которые подходят под философию фреймворка, описанную первоначальным создателем Fabien Potencier.

Note

Лучшие практики - это существительное, означающее "чётко определённую процедуру, которая приводит к оптимальным результатам". И это именно то, на предоставление чего направлен этот справочник. Даже если вы не согласны с каждой рекомендацией, мы верим, что они помогут вам строить отличные приожения с меньшими сложностями.

Этот справочник особенно подходит для:

  • Веб-сайтов и веб-приложений, разрботанных с полным фреймворком Symfony.

Для других ситуаций, этот справочник может быть хорошей точкой старта, которую вы потом можете расширить и приспособить под собственные нужды:

  • Пакеты, публично распространямые в сообществе Symfony;
  • Продвинутые разработчики или команды, которые создали собственные стандарты;
  • Некоторые сложные приложения, которые имеют высоконастраиваемые требования;
  • Пакеты, которые могут быть распространены внутри компании.

Мы знаем, что от старых привычек тяжело избавляться, и что некоторые из вас будут шокированы некоторыми из этих лучших практик. Но следуя им, вы сможете разрабатывать приложения быстрее, с меньшими сложностями и с тем же или даже лучшим качеством. Это также движимая цель, которая будет продолжать улучшаться.

Помните, что это необязательные рекомендации, которым вы и ваша команда можете следовать по желанию при разработке приложений Symfony. Если вы хотите продолжать использовать ваши собственные лучшие практики и методологии, то вы конечно же можете это делать. Symfony достаточно гибкая, чтобы приспособиться к вашим нуждам. Это не изменится никогда.

Для кого эта книга (подсказка: это не туториал)

Любой разработчик Symfony, будь то эксперт или новичок, может прочитать этот справочник. Но так как это не туториал, то вам понадобятся некоторые базовые знания Symfony, чтобы следовать всему. Если вы абсолютный новичок в Symfony, то добро пожаловать! Начните с туториала Быстрый тур.

Мы специально сделали этот справочник коротким. Мы не повторяем объяснения, которые вы можете найти в объёмной документации Symfony, вроде дискуссий о внедрении зависимостей или фронт-контроллерах. Мы фокусируемся исключительно на том, как делать то, что вы уже знаете.

Приложение

В дополнение к этому справочнику, было разработано пробное приложение, учитывая все эти лучшие практики. Этот проект, под названием демо-приложение Symfony, можно получить через установщик Symfony. Для начала, скачайте и установите установщик и потом выполните эту команду, чтобы скачать демо-приложение:

1
$ symfony demo

Демо-приложение - это простой движок блога, так как оно позволит нам сфокусироваться на концептах и функциях Symfony, не закапываясь в сложные детали реализации. Вместо разработки приложения шаг за шагом, в этом справочнике вы найдёте избранные отрезки кода в разных главах.

Не обновляйте ваши существующие приложения

После прочтения этого справочника, некоторые из вас могут раздумывать об обновлении ваших существующих приложений Symfony. Наша рекомендация проста и коротка: вам не стоит переопроектировать ваши существующие приложения в соответствии с этими лучшими практиками. Причины этого разнообразны:

  • Ваши существующие приложения не являются неправильными, они просто следуют другому набору правил;
  • Полное перепроектирование базового кода может привести к ошибкам в ваших приложениях;
  • Количество работы, проделанной для этого, лучше уделить улучшению ваших тестов или добавлению функций, предоставляющих реальную ценность для конечных пользователей.

Эта документация является переводом официальной документации Symfony и предоставляется по свободной лицензии CC BY-SA 3.0.