Про що ця книга?
Symfony є одним із найуспішніших PHP-проектів. Це, одночасно, і потужний фулстек-фреймворк, і набір популярних компонентів, що використовуються багатьма іншими проектами.
Після випуску Symfony 2.0 у 2011 році проект досяг своєї зрілості. Я відчуваю, що все, що ми зробили за останні кілька років, чудово поєднується разом. Нові низькорівневі компоненти, високорівневі інтеграції з іншим програмним забезпеченням, інструменти, які допомагають розробникам поліпшити їх продуктивність. Процес розробки поліпшився значною мірою, без втрати гнучкості. Ще ніколи використання Symfony у проекті не було настільки простим і захопливим.
Якщо ви новачок у Symfony, ця книга показує потужність фреймворку і те, як він може поліпшити вашу продуктивність, розробляючи застосунок, крок за кроком.
Якщо ви вже є розробником Symfony, вам слід заново відкрити його для себе. За останні кілька років фреймворк зазнав значних змін, а процес розробки значно поліпшився. У мене є відчуття, що багато розробників Symfony все ще "застрягли" зі старими звичками, і їм важко прийняти нові способи розробки застосунків Symfony. Я можу зрозуміти деякі з причин. Темпи еволюції приголомшують. Працюючи весь день над проектом, у розробників немає вільного часу стежити за всім, що відбувається у спільноті. Я знаю це з власного досвіду, тому не буду прикидатися, що стежу за всіма течіями в програмуванні. Це далеко не так.
І справа не лише в нових способах ведення справ. Ідеться також про нові компоненти: HTTP client, Mailer, Workflow, Messenger. Вони змінюють гру. Вони мають змінити те, як ви думаєте про застосунок Symfony.
Я також відчуваю потребу в новій книзі, оскільки Інтернет сильно еволюціонував. Такі теми, як API-інтерфейси, SPA-застосунки, Контейнеризація, Безперервне розгортання і багато іншого слід обговорити вже зараз.
Ваш час дорогоцінний. Не чекайте довгих абзаців, чи довгих пояснень щодо основних понять. Ця книга є, скоріш, мандрівкою. З чого починати. Який код писати. Чому. Як. Я спробую зацікавити вас важливими темами, і дозволю вам вирішити, чи хочете ви дізнатися більше.
Я також не хочу переписувати існуючу документацію. Її якість відмінна. Проте, буде чимало посилань до документації у секціях "Йдемо далі", у кінці кожного кроку/розділу. Розглядайте цю книгу як базу, зі списком посилань на ресурси для додаткового вивчення.
У книзі описано процес створення застосунку — від старту проекту до його релізу. Однак, нашою ціллю не є отримання готової до продакшн системи. Результат не буде ідеальним. Ми лише наведемо основні акценти. Ми можемо пропустити обробку крайніх випадків, валідацію або тестування. Кращі практики не будуть дотримуватися весь час. Але ми збираємося доторкнутися практично всіх аспектів сучасного Symfony проекту.
Починаючи працювати над цією книгою, найперше, що я зробив, це написав застосунок. Я був вражений результатом і швидкістю, з якою я додавав нові функції, не витрачаючи багато зусиль. Це завдяки документації та тому, що Symfony знає, як не заважати вам отримати найкращий результат. Я впевнений, що в Symfony все ще є місця, які можна поліпшити (і я вже підмітив деякі з них), але процес розробки став набагато досконалішим, аніж був декілька років тому. Я хочу розповісти про це всьому світу.
Книга розділена на кроки. Кожен крок підрозділяється на підкроки. Вони мають швидко читатися. Але, що ще важливіше, я запрошую вас програмувати, коли ви читаєте. Напишіть код, протестуйте його, розгорніть, підправте.
І останнє, але не менш важливе: не соромтеся звертатися за допомогою, якщо опинитеся в глухому куті. Ви можете потрапити в непередбачену ситуацію або зіткнутися з помилкою у вашому коді, яку можливо буде важко знайти та виправити. Ставте питання. У нас є прекрасна спільнота на Slack та GitHub.
Готові програмувати? Насолоджуйтесь!