Originally published at
ostretsov.ru. You can comment here or
there.
Хранение timezone в MySQL (вероятно переедем на PostgreSQL в текущем проекте) требует отдельного поля. Т.к. мы работаем с БД через Doctrine ORM, то нативное использование таймзон невозможно. При таком раскладе хранить все лучше в одной таймзоне (в Мск, например), а поле таймзоны использовать только для отображения дат.
foreach (null) вываливает ошибку. Не знал, что нет изящного workaround этого кейса. Специально искал.
@Version аннотация в Doctrine2. Ранее её никогда не использовал. Оказывается есть нативная версионность в доктрине для updated_at полей. Работает с integer и datetime из коробки.
AngularJS: инициализация контроллера. Спасибо sensio и twig. Есть хорошая штуковинка (escape|e)(‘html_attr’), которая любой гигантский JSON упакует в удобоваримый вид, для последующего ng-init.
AngularJS в коллекциях форм Symfony. Я использую MopaBootstrapBundle. Ребята (phiamo и комьюнити) неплохо постарались и сделали все, что нужно. И даже JSы для работы с вложенными коллекциями есть, но вот если вложенные формы используют AngularJS-контроллеры, то беда. Готовых решений нет. Для js-ниндзи здесь нет никаких проблем, а я немного увяз. Коротко решение таково: обернуть коллекцию контроллеров в генеральный контроллер. Вот такую штуку я набросал:
И конечно нужно создать новый тип формы с алиасом angulared_collection.
В итоге можно использовать коллекцию angulared-форм, где каждая форма компилируется на лету:
Click to view
Читал мысли разработчиков о развитии
PHP 6 и
PHP 7.
Хороший файл-менеджер для TinyMCE:
http://www.responsivefilemanager.com (это ужасный файловый менеджер!!!)