Видео доклады с конференции PHP Frameworks Day 2013

Категория: PHP

Видео обзор PHP фреймворков Symfony 2 (Роман Лапин), Yii 2 (Александр Макаров), Phalcon (Александр Торош), TulaCo (Даниил Кожемяко), Bluz (Антон Шевчук), Silex (Владимира Дубина). Сразу оговорюсь, что тема доклада по Symfony 2 - "Как превратить проект в боль", в котором докладчик повествует о частых Bad Practicies и дает полезные рекомендации. Так что обзора Symfony, как такового нет. Любопытно, что также не было докладов по Zend Framework и Laravel, хотя о них несколько раз упоминали в докладах о других фреймворках.

Впечатление

В целом от докладов осталось положительное впечатление и я почерпнул немного полезной информации. Но!

Было намного интересней, если бы докладчики повествовали о фреймворках в контексте реализации более сложного функционала, чем CRUD. Ведь все знают что простой список записей и форма редактирования пишутся довольно просто и на чистом PHP. Если выбирать фреймворк, исходя только из этих потребностей - то мне вообще пофиг какой фреймворк использовать! /если честно - я возьму фреймворк у которого есть CRUD генератор, и пусть он работает за меня, а я буду плевать в потолок :)/ Ну, или выбор будет крайне субъективным и принятое решение не будет как-нибудь аргументировано. Но мы то точно знаем что от маленько-среднего и до крупного проекта - простые CRUD страницы могут быть только в справочниках админки. Что мы делаем все остальное время, когда справочники в админке уже нагенерили?

Все остальное время мы: планируем архитектуру при изменении требований со стороны заказчика, рефакторим, пишем запросы с джойнами и под запросами, костылим трансформеры для преобразования 1:M среза записей в JSON с вложенными сущностями, переписываем CRUD'ы и делаем вложенные формы (это из симфони)  чтобы вывести данные из связанных таблиц, педалим функционал сохранения и валидации не типичных форм, ищем доп. библиотеки (package для компосера) и интегрируем их в проект, ааа.. как же - нет такой библиотеки? а эту нужно форкнуть чтобы кастомизировать для нашей доменной модели? Та-ак, а куда же положить этот класс валидации.. а где хранить менеджеры, а вот этот Event Listener  де разместить? ..может в app/, их ведь не много будет.. ага, ну да)! Файл с роутингом вырос до 5000 строк или разбросан на сто-пиццот файлов? Валидаторы разбросаны по всему проекту потому, что этот проект сменил не одного разработчика? А этот «бла-бла-бла» - классный фреймворк!.. Что? Дополнение методов/свойств модели.. Не, а нафига оно мне?!

Уфф.. немного увлекся, но лишь малая часть проблем, с которыми сталкивался я и мои коллеги. Источник всех бед, ИМХО, связан с "эффектом разбитых окон". Но фреймворк может предоставлять не только нужный набор инструментов, но также задать необходимый гибкий каркас будущего приложения - структуру и расположение классов, которые могут понадобиться в дальнейшем. Если этого не делает фреймворк (привет Laravel), тогда архитектура полностью ложиться на плечи разработчиков. И тут, либо мы имеем достаточно набитых шишек, либо время от времени нам нужно обсуждать архитектурные моменты и писать внутренние конвенции, либо - делаем быстро и через ~ год-два выбрасываем и переписываем наш код. Вы вряд ли будете спорить, если я скажу что таких примеров предостаточно.

Видео докладов

Скажем «спасибо» человеку, который выкладывал видео на ютюб (нет ни темы доклада, ни названия видео в плейлисте)! Привожу содержание плейлиста и желаю хорошего просмотра)

  1. Symfony 2. Как превратить проект в боль (Роман Лапин);
  2. Yii 2 (Александр Макаров);
  3. Phalcon (Александр Торош). ИМХО, немного предвзято;
  4. TulaCo (Даниил Кожемяко);
  5. Bluz (Антон Шевчук);
  6. Silex (Владимир Дубина). Скучно.. я не досмотрел.
Все доклады по умолчанию загружаются в качестве HD 720p - берегите мобильный трафик!

Всем спасибо. Замечания, предложения и здоровая критика в комментариях приветствуются)

#video (видео)

категория: PHP