-
Решение manifest for yiisoftware/yii2-php:latest not found
При попытке скачать образ yii2-php с docker-hub Вы, вероятно, получите ошибку manifest … not found. В короткой статье я расскажу, как решить эту проблему. Итак, проблема говорит, что docker не может найти :latest-версию репозитория. Согласно официальному ответу нужно использовать явное указание версии, которая Вам нужна. На момент написания статьи список версий выглядит так: 7.2-apache 7.1-apache […]
-
Мультиязычный сайт на Yii2
Вопрос мультиязычности сайта стоит достаточно часто. В этой статье постараюсь помочь Вам в вопросе реализации мультиязычности сайта на Yii2. Когда стала задача — решил посмотреть, что нового предложит мне Гугл и наткнулся на прекрасную статью. Не буду перекопировать контент — ознакомиться с детальным мануалом Вы можете здесь. На GitHub функционал доступен по этой ссылке. Выражаю […]
-
Php. Запись UTF-8 (кириллицы) в файл при помощи fputcsv.
При записи кириллицы (или любого UTF-8 контента) в файл при помощи fputcsv Вы, скорее всего, получите нечитебальный текст. Как решить эту проблему — разберем в этой короткой статье. Всё достаточно просто, хотя, конечно, и очень неочевидно. Перед записью нужно добавить следующий текст в файл: fprintf($df, chr(0xEF).chr(0xBB).chr(0xBF)) Таким образом пример записи в файл будет выглядеть вот […]
-
Yii2. Как проверить, запущено ли приложение из консоли?
Иногда на общих методах бывает необходимость по-разному обрабатывать запрос в зависимости от источника вызова приложения — консоль или браузер. В этой статье пример свойства, которое поможет определить этот момент. На просторах интернета есть много примеров реализации — использование is_a, instanceof, внутренние константы и т.д. Все они хороши, но команда Yii2 всё сделала за нас и […]
-
Yii2. Как прокрутить страницу к первому полю с ошибкой после валидации?
Очень удобная для пользователя фишка — прокрутка страницы к первому полю с ошибкой в случае неуспешной валидации. В этой статье я напишу, как можно просто прокрутить страницу к первой ошибке после валидации yii2. Приведу пример с реального проекта: /** * Прокрутка полсле неудачной валидации */ $(«#form»).on(«afterValidate», function (event, messages) { if(typeof $(«.has-error»).first().offset() !== «undefined») { […]
-
Yii2. Как добавить в OR несколько условий с LIKE?
Возможна ситуация, когда нужно делать запрос с LIKE-поиском по нескольким полям, но при этом с условием OR. В этой статье пример реализации на Yii2 данной задачи. Всё, на самом деле, просто. Приведу пример: $query->andFilterWhere([ ‘or’, [‘like’, ‘first_name’, $nameFromQuery], [‘like’, ‘last_name’, $nameFromQuery], [‘like’, ‘middle_name’, $nameFromQuery] ]); Выше привел конструкцию, которая при условной поисковой фразе «Ивано» сгенерирует […]
-
Yii2. Queue. Как установить time_limit (max_execution_time)?
Работа с очередями позволяет распараллелить некоторые процессы и\или вынести особо время затратные задачи в очередь. В этой статье я раскажу, как изменить лимит времени на выполнение задачи (max_execution_time). Общие принципы работы с yii2-queue я описывал ранее здесь. Первая мысль, что мне пришла, когда я увидел сообщение об ошибке о завершении таска из-за временного лимита — […]
-
Yii2. Как валидировать массив с данными?
В процессе разработки часто в качестве атрибута может выступать массив с данными, которые также нужно валидировать. В Yii2 есть необходимый валидатор, о котором мы часто забываем. В этой статье — пример работы с валидатором each для валидации элементов массива. Собственно все достаточно просто. И отлично описано в документации. Другими словами — при помощи EachValidator мы […]
-
Php. Как сгенерировать ZIP-архив?
Сегодня постараемся разобраться с вопросом генерации ZIP-архива средствами php. На авторство решения не претендую — когда столкнулся с задачей — нашел данный работающий пример на stackoverflow . Итак, ниже пример метода, который по массиву входящих файлов генерирует ZIP-архив. Как видно с примера формат входящих данных следующий: $files = [ [‘file_name’ => ‘nameInZip1.pdf’, ‘/path/to/file/1.pdf’], [‘file_name’ => […]
-
Yii2. Как отдать файл на скачивание?
Задача программной отдачи файла может встретиться довольно часто, но не многие знают, что в Yii2 есть встроенный методы, помогающие решить проблему отдачи файла в браузер на скачивание. В этой короткой заметке — пример решения задачи. Поехали! В принципе, все средства описаны в документации. Я лишь приведу несколько примеров и пояснений. Наиболее полезными и часто используемыми […]