Coding

Strategy Design Pattern

Опубликовано

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

Coding

Composer autoload

Опубликовано

Реализация автозагрузки классов с помощью менеджера зависимостей для PHP - Composer

Coding

Laravel FormRequest

Опубликовано

Чистка методов контроллеров от логики валидации входящих данных с помощью класса FormRequest

Coding

Как Closure на чужие private наплевал

Опубликовано

..нельзя просто так взять, и получить приватное свойство экземпляра класса вне контекста этого объекта. Closure в php Предопределенный окончательный класс Closure (замыкание) был введен в PHP 5.3.0. Он используется для внутренней реализации анонимных функций. Анонимные функции, в свою очередь, реализуются с использованием класса Closure. Для создания Closure необходимо просто объявить анонимную функцию: Проведем небольшой эксперимент: […]

Coding

Lookaround и валидация пароля

Опубликовано

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

Coding

Создание email уведомлений в laravel

Опубликовано

С помощью artisan генерируем Mailable с соответствующим Markdown: Фреймворк создаст следующие файлы: Описываем необходимые методы обсервера App\Observers\CommentObserver: В модели Comment описываем методы createCustomevent и sendEmailNotification: и переходим к заполнению созданного ранее App\Mail\CommentNotification, передав необходимые переменные в конструктор класса: Свойства класса будут доступны в шаблоне $markdown (resources/views/emails/comment.blade.php):

Coding

Model Observers

Опубликовано

Обсерверы моделей в основном используются для внутренних операций с моделью перед записью в базу (-ing методы, хотя создаётся обсервер с -ed методами. Возможно, где-то я повернул не туда) - догенерации данных или создания связанной служебной модели. То есть те вещи, которые связаны непосредственно с жизнью этой модели. Eloquent модели запускают несколько событий, позволяя нам подключиться […]

Coding

Очистка очередей laravel

Опубликовано

Говорят, что обработчики очереди — долгоживущие процессы и они не подхватят изменения в коде, пока не будут перезапущены. Для подхватывания изменений надоть выполнить queue:restart: а также рестартануть supervisor, если он установлен на сервере: PS: Очереди довольно мерзкая штука, может приведенные выше действия избыточны, а может и недостаточны, но вроде работают.