Category: Laravel

Использование Illuminate / Database / Query / Expression для работы с чистым sql в объектах

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

Неочевидное время публикации в плагине Blog october Cms

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

Добавление события afterFind в Laravel

После перехода с yii на laravel, одним из самых странных моментов для меня было отсутствие в laravel5 события afterfind. Это событие невероятно полезно в моделях yii. Конечно, за счет другой работы с полями моделей необходимость в методе чувствуется не так сильно, но все равно бывают моменты, когда становится очень жаль, что это событие не реализовано. Пострадав некоторое время, я решил написать его сам.

Абстрактный метод в моделях laravel

По мере перевода частей проекта с yii на laravel, возникает необходимость в реализации на laravel тех же шаблонов, которые были реализованы на yii. Некоторое время назад я рассказывал о том, как на yii реализовать абстрактный метод для моделей. В этой статье я опишу, как сделать тоже самое в laravel.

Поддержка postgres массива в laravel5

Сейчас доминирующая база данных - mysql, в тоже время другие базы данных имеют свои интересные особенности. Одна из таких особенность в postgres - это массив из значений в поле таблицы. Так как я в своей работе использую массивы, то я решил дописать поддержку массивов и заодно разобраться как создавать обработчики специальных полей.

Противоречие getDirty() в laravel 5

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

Рефакторинг при работе с исключениями

Исключения - это одна из тем, которые не пользуются популярностью в php. Возможно основная причина в том, что без исключений можно обойтись. Однако исключения позволяют уменьшить количество условных операторов в вашей программе и, как следствие, уменьшить сложность самого кода. Для того чтобы начать использовать исключения часто не нужно много усилий, современные пакеты ориентированны именно на работу с исключениями.

Создаем собственный фреймворк

Yii построен на принципе монолитности: фрейворк предлагает в себе все необходимые решения, для того чтобы сделать минимальный сайт. Laravel построен по принципу сборной конструкции: каждый его компонент может жить в отдельности. Структура yii потенциально обеспечивает большее быстродействие, так как позволяет произвести оптимизацию кода и ресурсов. Структура Laravel дает больше гибкости. Если конципция yii кажется более простой и понятной, то концепция Laravel нуждается в пояснении. Мне кажется достаточно хорошей иллюстрацией будет история, которая оформилась за последние несколько недель.