Иногда на общих методах бывает необходимость по-разному обрабатывать запрос в зависимости от источника вызова приложения — консоль или браузер. В этой статье пример свойства, которое поможет определить этот момент. На просторах интернета есть много примеров реализации — использование is_a, instanceof, внутренние константы и т.д. Все они хороши, но команда Yii2…

В этой короткой статье наглядный пример, как получить ключ массива в соответствии с его минимальным или максимальным значением. Итак, решение проблемы занимает всего одну строку: Собственно всё 🙂 Естественно, для получение минимального значения следует поменять max на min. Надеюсь статья была полезной — всегда рад Вашим комментариям.

После вызова loadHTML из объекта DOMDocument Вы с большой вероятностью получите различные ошибки, которые связаны с ошибками при разборе html5-тегов. С этой статье пример, как решить проблему. К сожалению, ничего красивого я Вам не предложу — самый действенный и рабочий способ — отключить рапортацию об ошибках. На дальнейшую работоспособность этот…

При загрузке контента при помощи loadHTML в объект DOMDocument Вы, скорее всего получите ошибку разбора данных. О том, как решить проблему — в этой статье. Наиболее простой и безкостыльный, как по мне способ — в примере ниже: Он позволяет безошибочно загрузить контент с html5-тегами и продолжить работу с структурой. Надеюсь…

Очень удобная для пользователя фишка — прокрутка страницы к первому полю с ошибкой в случае неуспешной валидации. В этой статье я напишу, как можно просто прокрутить страницу к первой ошибке после валидации yii2. Приведу пример с реального проекта: Все предельно просто. Если после валидации есть поле с классом .has-error —…

По умолчанию метод json_encode переводит все кириллические символы в UTF. В этой статье пример, как сделать так, что в JSON-строке остались русские символы. Решение не сложное и описано в документации к функции json_encode. Нас интересует второй параметр — т.е. настройки работы функции. В нем нужно передать JSON_UNESCAPED_UNICODE, что собственно и…

Возможна ситуация, когда нужно делать запрос с LIKE-поиском по нескольким полям, но при этом с условием OR. В этой статье пример реализации на Yii2 данной задачи. Всё, на самом деле, просто. Приведу пример: Выше привел конструкцию, которая при условной поисковой фразе «Ивано» сгенерирует следующее условие: По большому счету объяснения не…

Работа с очередями позволяет распараллелить некоторые процессы и\или вынести особо время затратные задачи в очередь. В этой статье я раскажу, как изменить лимит времени на выполнение задачи (max_execution_time). Общие принципы работы с yii2-queue я описывал ранее здесь. Первая мысль, что мне пришла, когда я увидел сообщение об ошибке о завершении…

При формировании отчетной формы, к примеру, необходимо установить дату начала равной первому дню текущего месяца. В этой статье — простой пример реализации задачи. Итак, пример очень простой. Мы можем указать нужную нам дату в конструкторе: Или изменить уже существующий экземпляр: Как видите — нам могут помочь словесные форматы указания даты….

В процессе разработки часто в качестве атрибута может выступать массив с данными, которые также нужно валидировать. В Yii2 есть необходимый валидатор, о котором мы часто забываем. В этой статье — пример работы с валидатором each для валидации элементов массива. Собственно все достаточно просто. И отлично описано в документации. Другими словами…