
Laravel *
Бесплатный веб-фреймворк с открытым кодом
Ошибки панели администрирования или опыт разработки Laravel Orchid
В прошлом на Хабре публиковалась статья "Orchid CMS — ещё одна CMS на Laravel", а теперь спустя два года и больше 100 релизов попробуем разобрать ошибки и проблемы которые стояли на пути разработки.
Кеширование в Laravel: основы плюс tips&tricks
Техника кеширования позволяет создавать более масштабируемые приложения, запоминания результаты некоторых запросов в быстрое in-memory хранилище. Однако, некорректно реализованное кеширование может сильно ухудшить впечатление пользователя о вашем приложении. Эта статья содержит некоторые базовые понятия о кешировании, различные правила и табу, которые я извлек из нескольких прошлых своих проектов.
Не используйте кеширование.
Ваш проект работает быстро и не имеет никаких проблем с производительностью?
Забудьте о кешировании. Серьезно :)
Оно сильно усложнит операции чтения из базы без каких-либо бенефитов.
Правда, Мохамед Саид в начале этой статьи делает некоторые вычисления и доказывает, что в некоторых случаях оптимизация приложения на миллисекунды способна сэкономить кучу денег на вашем AWS счету. Так что, если прогнозируемая экономия на вашем проекте больше, чем 1.86 долларов, возможно, реализация кеширования — неплохая идея.
Советы по оптимизации Laravel-архитектуры с AWS

Что такое Laravel Framework
Laravel известен как full stack фреймворк, так как он может выполнять широкий спектр задач: от обслуживания веб-сервисов до управления базами данных и генерации HTML. Вертикально интегрированная среда веб-разработки, которая делает работу более приятной.
Разработчики могут создавать и управлять проектными средами Laravel с помощью инструментов командной строки. Laravel поставляется с Artisangreat, который предоставляет некоторые полезные команды для разработки и может использоваться для генерации кода фреймворка и управления базами данных. Он основан на мощном Symfony-компоненте Console.
Docker + Laravel + RoadRunner = ❤
Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать поставленную задачу, довольно сильно изменились.
Всё, что будет написано ниже, является субъективным опытом, который (как и всегда) не претендует на право считаться единственно верным решением, но некоторые подходы и решения, возможно, тебе покажутся интересными и полезными.
В качестве приложения так же буду использовать Laravel, так как он мне наиболее знаком и довольно широко распространен. Адаптировать под другие PSR-7-based фреймворки/компоненты возможно, но этот рассказ не про это.
Порождение событий, CQRS и Laravel

Введение
Эта статья посвящена основам создания событийных CQRS-систем на языке PHP и в фреймворке Laravel. Предполагается, что вы знакомы со схемой разработки с использованием командной шины и имеете представление о событиях (в частности, о публикации событий для массива слушателей). Чтобы освежить эти знания, вы можете воспользоваться сервисом Laracasts. Кроме того, предполагается, что вы имеете определенное представление о принципе CQRS. Если же нет, я настоятельно рекомендую прослушать две лекции: «Практикум по порождению событий» Матиаса Верраса (Mathias Verraes) и «CQRS и порождение событий» Грега Янга (Greg Young).
Laravel Event Projector и концепция порождения событий
Перевод статьи подготовлен для студентов профессионального курса «Framework Laravel»
Фрек ван дер Хертен (Freek Van der Herten) и команда Spatie долго трудились над Laravel Event Projector, пакетом, позволяющим применять концепцию порождения событий (Event Sourcing) во фреймворке Laravel. И вот наконец доступна первая стабильная версия (v1.0.0)!
Вы можете установить Event Projector в свой проект при помощи composer и благодаря автоматическому обнаружению пакетов в Laravel приступить к работе сразу же после публикации миграций пакета и конфигурирования!
Unit тестирование в Laravel
Я часто слышу среди обсуждений в сообществе мнение, что unit тестирование в Laravel неправильное, сложное, а сами тесты долгие и не дающие никакой пользы. Из-за этого эти тесты мало кто пишет, ограничиваясь лишь feature тестами, а польза unit тестов стремится к 0.
Я тоже так считал когда-то, но, однажды я задумался и спросил себя — может быть я не умею их готовить?
Некоторое время я разбирался и на выходе у меня сформировалось новое понимание о unit тестах, а тесты стали понятными, дружелюбными, быстрыми и стали мне помогать.
Я хочу поделиться с сообществом своим пониманием, и еще лучше разобраться в этой теме, сделать мои тесты еще лучше.
Ближайшие события
Larabeer Moscow — 21 июня

Доклады:
- «Мифы и реальность unit и не-unit тестирования в Laravel» Адель Файзрахманов (Patron Technology)
- «Сохраняем много данных: как не умереть» Виталий Юшкевич (PUGOFKA)
- «Жизнь за пределами Eloquent» Кирилл Несмеянов (Rambler Group)
Крайне желательно зарегистрироваться, если решили пойти — вот ссылка. Митап бесплатный.
Кстати, если есть желание более плодотворно провести этот день, лучше зарегистрироваться на конференцию DevConf.
В эту пятницу 21 июня пройдет юбилейная DevConfX, 22 июня эксклюзивные мастер-классы

В эту пятницу пройдет юбилейная конференция DevConfX.
Как всегда — все участники получают значительную фору в знаниях на год вперед и шанс оставаться востребованным инженерами WEBa
Доклады которые могли бы Вас заинтересовать:
- PHP 7.4: стрелочные функции, типизированные свойства и др
- Symfony: Разработка абстрактных компонентов и бандлов
- Domain Driven Design
- TDD: как уйти от мучений и войти в поток
- Погружение в блокчейн для веб-специалиста
- Инфраструктура большой платежной платформы
- NoSQL + SQL = MySQL 8 Document Store!
- Предвкушая двенадцатый PostgreSQL
- Сертификация PostgreSQL. Вопросы и ответы
- Tarantool. Добавляем SQL в noSQL СУБД
- Ceph: настройка и тестирование
- Как мы построили сервис распределённых очередей в Яндексе
- Экстрим-улучшения — работа в рамках высокой нагрузки
Остальные доклады программы
Разработка чат-бота (laravel+botman)
Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В статье будет рассказано и показано, как разработать чат-бота на laravel+botman для telegram. Сам я разрабатывал ботов(коммерческих) под viber и telegram. Как разработчику telegram мне нравится больше всего.
Я не буду показывать как установить laravel и настроить сервер для его работы. Если вы никогда этого не делали, то проще будет установить openserver, в него встроен composer(пакетный менеджер для php) и уже настроен локальный сервер для laravel’a. Вам останется лишь прописать немного кода в .htaccess. Дома я именно так и работаю. В статье покажу один из способов разработки чат-бота, настроим бота для работы в телеграм, а так же, в конце, оставлю ссылки на полезные статьи о laravel’e и botman’e.
Проектирование/подготовка
Разработку бота предлагаю, как и все нормальные разработчики, начать с проектирования, постановки задачи и объяснения как работает laravel. Перед этим скажу, что я пишу код в phpStrom. Можно писать в любом другом IDE, но я пользуюсь именно им.
В laravel реализован паттерн MVC(Model View Controller). Это не значит, что нужно писать только под mvc, можно и говнокодить, но лучше пользоваться теми преимуществами, которые предоставляет фреймворк. Если вы знакомы с mvc, но не применяли его, как я, то разработка с помощью laravel’a это лучший способ закрепить знания.
BotAuth — вход и регистрация при помощи ботов

BotAuth — пакет, который позволяет реализовать вход при помощи бота Вконтакте, FaceBook, Telegram.
Основная задача BotAuth, упростить посетителям Веб сайтов/PWA вход через социальные сети.
Пока соц. сети не реализуют обратную связь нативных мобильных приложений с веб сайтом, разработчикам приходится отправлять пользователя в браузер, где снова нужно вводить логин и пароль.
Используя ботов, можно получить обратную связь (callback) из нативного приложения, тем самым не заставлять вводить логин и пароль соц. сети в браузере.
Вклад авторов
pronskiy 4986.0Cutcode 529.6AlexLeonov 249.0snowmage 214.2spasibo_kep 184.1Helldar 153.7dusterio 150.0EproTM 88.0MaxRokatansky 84.4genkovich 75.0