Сортировка массива объектов по свойству

Если есть массив объектов и необходимо его отсортировать по полю (или нескольким), то то для этого существует функция usort ([массив], callable функция).

Ниже описан пример сортировки массива объектов с помощью статического метода в классе объекта. (далее…)

Symfony 2. Мультиязычность контента

Недавно передо мной стояла задача сделать мультиязычность контента у сайта, написанного с использованием фреймворка symfony 2. Из мануалов было ясно, что встроенная мультиязычность подходит только для перевода интерфейсов. Мне нужна возможность определения у каких полей сущностей будет перевод, а у каких не будет перевода.

Нашел библиотеку Doctrine2 Behaviors от KnpLabs. В документации есть инструкция по использованию с анотациями. Но у меня сущности описываются в yml файлах. С yml файлами, как оказалось тоже все работает, главное – правильно описать. (далее…)

Yii2 проверка на уникальность сочетания полей

Как то мне понадобилось сделать такую валидацию, что бы уникальными были не поля по отдельности, а комбинация полей.

Когда в контролер приходят данные из формы с ними надо что-то сделать – загрузить в соответствующую модель, проверить на валидность, как-нибудь так:

Важное замечание: при этом в модель загружаются только те поля (так называемые безопасные), для которых указаны валидация.

При создании в Yii форм, с наследованием от класса Model ( use yii\base\Model), правила валидации задаются функцией rules:

(далее…)

Выполнение консольных команд yii2 в cron

Было несколько своих консольных команд написанных для yii2, вида php yii example/action. В консоли они выполнялись без проблем, но понадобилось сделать их периодическое выполнение через cron. Вот с этим я замучилась! Настраивала сначала на локальном сервере (Open Server). Запустила команду в таком виде:

а она не выполняется, точнее спотыкается при выполнении на операции с базой данных, в лог пишется, что проблема с драйверами pdo.

В итоге сделала так (запуск с консолью):

Преобразуется к виду:

Открывать все внешние ссылки в новом окне

Возможно кому-нибудь понадобится.

Symfony: получить путь в контроллере

Для работы с путями в Symfony 2 есть сервис router.

Для генерации пути можно воспользоваться методом generate, который на вход принимает уникальное название пути и массив с аргументами.

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