Архивы по автору: Елена

Как ускорить тестирование сущности в symfony 4

Статья о модульном тестировании сущности в symfony 4 относительно валидации. Можно тестировать корректную обработку валидных и на невалидных данных в функциональных тестах. Но это занимает много времени, так как загружается все приложение со всеми зависимостями, база данных и т.д. и т.п. Как ускорить тестирование?

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

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

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

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

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

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

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

а она не выполняется, точнее спотыкается при выполнении на операции с базой […]

Symfony 2: проверка полей на уникальность и прочие валидации

При создании сущностей в Symfony, а точнее, в yml-файле конфигурации можно задать различные свойства для полей, на основе которые потом будет строиться форма (а следовательно, клиентская валидация) и создаваться таблица в базе данных. Так, например, сущность Category имеет следующие поля:

Двух пока достаточно. На основе этой конфигурации, поле для ввода имени (name) будет input[type=”text”] […]

Symfony 2: удаление связанных сущностей

Допустим есть две связанные сущности, Category и Post, и в yml они выглядят так:

Если оставить в таком виде, то при попытке удалить категорию, в которой есть посты, вылетит такое (или примерно такое) исключение базы данных:

Чтобы задать каскадное удаление, необходимо добавить строчку cascade: [persist,remove] в yml конфигурацию Category:

 

Решение проблемы при отправке почты 501 Syntactically invalid HELO argument(s)

Делала отправку писем на в проекте на symfony, через swiftmailer(smtp). Было несколько сайтов по этому проекту. С одних письма отправлялись, с других – нет. В логах была такая ошибка:

В итоге выяснилось, что проблема в имени домена, а именно, в символе подчеркивания. Поменяла везде подчеркивание на тире, и все заработало.

Прокрутка для одностраничного сайта с навигацией

Понадобилось сделать эффект, чтобы при прокрутке колесом мыши страничка прокручивалась до следующей секции в навигации или до предыдущей, в зависимости от направления прокрутки. Следилкой пунктов меню воспользовалась из bootstrap.

Здесь при прокрутке определяется направление прокрутки, и в зависимости от этого берется следующий или предыдущий пункт меню, для которого дальше вызывается событие клика.

Структура […]