Google PageSpeed Insights 100/100

Недавно решил оптимизировать один из своих сайтов под Google PageSpeed Insights. Конечно, хочется максимального результата 100/100, но не все так просто. Далее расскажу как добиться такого результата.

(далее…)

Symfony 2 и 3. Как использовать сервис-контейнер в конструкторе контроллера

Бывают ситуации, когда в конструкторе контроллера нужно вызвать сервис-контейнер, но выводится ошибка:

Есть простое решение данной проблемы.

(далее…)

Как убрать scroll на iOS

Мобильная версия сайта на iOS всегда отображается со скроллом, даже если страница имеет высоту 100vh и в css скролл отключен. Для отключения этого скролла пропишите в javascript следующую строку:

 

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

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

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

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

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

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

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

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

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

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

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

(далее…)