
Создал экспериментальную систему DepthNet, где AI-агент мыслит циклично, то есть непрерывно, может выполнять PHP-код, управлять своей памятью и живет автономной цифровой жизнью. Протестировал на Claude 3.5 Sonnet — результаты понравились.
Бесплатный веб-фреймворк с открытым кодом
Создал экспериментальную систему DepthNet, где AI-агент мыслит циклично, то есть непрерывно, может выполнять PHP-код, управлять своей памятью и живет автономной цифровой жизнью. Протестировал на Claude 3.5 Sonnet — результаты понравились.
Большинство PHP фреймворков имеет свои решения для шаблонов, но существует огромное количество PHP проектов, включая CMS вроде WordPress, где коробочные решения отсутствуют.
Обычные PHP шаблоны довольно многословны и подвержены ошибкам. PHP Views призван сделать работу с шаблонами в чистом PHP более простой, гибкой и надежной.
В этой статье я хочу поделиться своим опытом настройки WSL для комфортной разработки, а также размышлениями о том, почему такой подход оказался для меня оптимальным. На это влияет несколько факторов.
Во-первых, иногда требуется специфический софт, который доступен только под Windows. Да, в других ОС могут быть аналоги, но зачастую они менее удобны или требуют дополнительной настройки.
Во-вторых, для разных проектов нужно разное окружение. WSL позволяет легко изолировать среды разработки, настраивая их под конкретные задачи или группы проектов. Это гораздо удобнее, чем держать несколько физических машин или постоянно переустанавливать систему.
Наконец, есть и субъективный фактор — привычка. Я с самого начала работал с Windows, и, несмотря на все преимущества Linux, полностью перестроить рабочий процесс оказалось сложно. WSL в этом плане — идеальный компромисс: Linux-окружение под рукой, но без необходимости отказываться от удобств Windows.
К написанию этой статьи меня подтолкнуло изучение архитектурных подходов для Vue.js-проектов, а вдохновила - детально описанная методология Feature-Sliced Design.
К сожалению, PHP-сообществу не хватает подобных развернутых рекомендаций, да и вообще, каких-то общепризнанных стандартных подходов в структуре проекта.
Моя статья - это попытка обобщить изученную мною за много лет информацию и сформировать универсальную структуру проекта, основанную на принципах Clean Architecture и модульного монолита.
Привет, Хабр!
Месяц назад я выложил в открытый доступ проект бота для технической поддержки. За это время он собрал более 100 клонирований и 40+ звёзд на GitHub. В Issues начали появляться предложения по доработкам — большое спасибо всем, кто откликнулся. Это дало мощную мотивацию развивать проект дальше.
GitHub - https://github.com/prog-time/tg-support-bot
В этом посте — кратко о ключевых изменениях последнего релиза.
На работе была поставлена задача: в главное веб-приложение нашей фирмы добавить метод формирования бланка в формате PDF «как вот в том микросервисе».
Форма бланка регулярно изменяется, и копировать её в веб-приложение означало нарушить принцип DRY («Не повторяйся») и обречь себя на постоянную двойную работу. Поэтому я решил оставить генерацию бланка в «том микросервисе».
«Тот микросервис» написан на PHP с использованием фреймворка Laravel, содержит большое число доменных объектов, экземпляры которых хранятся в БД MySQL, и имеет развитую систему API для обращения к своему функционалу.
И можно было добавить в него ещё одну точку доступа API, которая бы получала данные и на их основе формировала и возвращала бланк.
Проблема возникла из-за «неприлично» высокой связанности объектов в «том микросервисе». Так, в шаблоне, на основе которого строился бланк, использовались не просто примитивные типы данных, а объект-форма. И шаблон обращался к методам-геттерам этого объекта. А объект, в свою очередь, использовал другой доменный объект в своём конструкторе для заполнения полей.
Привет, Хабр!
Представляю вашему вниманию подробное пошаговое руководство по настройке аутентификации на основе cookies с помощью Laravel Sanctum. В процессе мы объясним логику каждого шага и покажем, как настроить Postman. Кроме того, мы рассмотрим наиболее распространенные проблемы, связанные с CORS.
Всех привествую, меня зовут Денис, я PHP Backend разрботчик
Я выступаю на хакатонах за команду https://жыбийрыр.рф/ и у нас была проблема что не было шаблона с которым мы могли спокойно приходить на хакатоны и не писать один и тот же код из раза в раз
Данная статья будет посвещена о том как я писал данный шаблон, с какими проблемами столкнулся и чему смог научиться
Привет, Habr!
Хочу поделиться решением, которое упростило мне организацию поддержки пользователей через Telegram. Я написал Telegram-бота на Laravel, который работает как прослойка между клиентами и менеджерами, обеспечивая структурированную переписку внутри одной группы с использованием тем (топиков).
Репозиторий проекта (open source):
👉 https://github.com/prog-time/tg-support-bot
Сегодня поговорим о теме, где нет универсальных решений, но есть проверенные практики — как организовать код в Laravel, чтобы он оставался чистым даже спустя годы развития.
Когда одного хранилища данных уже недостаточно, а миграция на новую систему кажется слишком сложной, на помощь приходит работа с несколькими базами данных одновременно.
В этой статье мы разберём:
Практические кейсы, когда действительно нужно использовать несколько СУБД
Пошаговую настройку подключений к разным базам в Laravel
Реализацию моделей и отношений между ними
Плюсы и минусы такого подхода
Вы узнаете, как грамотно организовать работу с несколькими источниками данных без ущерба для производительности и читаемости кода.
Привет читатель, на связи Владимир, техлид команды бэкенд-разработки в fashion бренде Befree. За время жизни и развития нашего интернет-магазина накопилось некоторое количество любопытных, на наш взгляд, решений, и появилось желание начать делиться этими решениями с сообществом. Начнем с рассказа о каталоге товаров и о том как этот каталог со временем преображался.
Предыдущий каталог товаров делался во времена, когда и трафика, и товаров было в десятки раз меньше по сравнению нынешним временем. Тот каталог толком не имел механизмов для фильтрации и кастомизации. У менеджеров интернет-магазина не было инструментов управления логикой вывода товаров, чтобы покупатель видел то, что надо бизнесу. Много товаров терялось на задворках каталога, поэтому верно сказать, что для покупателя доля товаров оставалась не представлена, т.к. мало кто листает десятки страниц, чтобы найти там модель из новой коллекции, которая почему то не на первой странице. Это осложнялось еще и тем, что в каталоге имелся скудный набор характеристик товаров, что не давало вывести покупателям нормальные фильтры. Имелись и другие проблемы: при значительных скачках трафика, например во время рассылки пушей, каталог банально переставал справляться с нагрузкой.
Требования, которые команда сформулировала к новому каталогу:
Статья нацелена в первую очередь на PHP backend-разработчиков уровня junior/middle, чтобы познакомить с теорией, которую спрашивают на собеседованиях, и с практическими примерами/советами, полезными для разработки.
Здесь хочу рассказать зачем вообще тестировать код, какие инструменты использовать, какие есть паттерны и тп.
Привет, Хабр! Сегодня я хочу рассказать о новом пакете для Laravel, который может значительно упростить вашу жизнь, если вы часто работаете с FormRequest классами. Пакет называется desole/laravel-generate-request, и он позволяет автоматически генерировать FormRequest классы на основе ваших моделей. Давайте разберем, как это работает и почему это может быть полезно.
Laravel-Zero - это микро-фреймворк для консольных приложений на базе Laravel Framework, позволяющий легко и быстро разрабатывать функционал работающий без веба. Но инициатором этой статьи стал кейс при использовании Laravel Prompts с несколькими часами потраченного времени.
Для экономии Вашего времени при столкновении с этой ошибкой или вовсе преждевременным её устранением, добро пожаловать под кат.
Привет, Хабр. На связи Артем, Laravel-разработчик, и я написал инструкцию для начинающих разработчиков по созданию полноценного локального приложения с бэкендом на Laravel и фронтендом на Vue.js.
Одностраничные приложения стали стандартом для создания динамичных и быстрых пользовательских интерфейсов. Одним из популярных стеков для разработки SPA является сочетание Laravel и Vue.js.
Пошагово разберу, как настроить среду разработки, создать API на Laravel, реализовать динамический интерфейс с использованием Vue.js и связать эти две части в единое приложение.
После прочтения статьи вы сможете развернуть свое собственное SPA и использовать его как основу для реализации своих идей по функционалу. Этот пример станет отличной отправной точкой для создания более сложных проектов.
Elasticsearch - это мощный поисковый движок, который позволяет эффективно индексировать и искать данные. В этой статье мы рассмотрим, как интегрировать Elasticsearch в Laravel, используя Docker и PHP-библиотеку elasticsearch/elasticsearch
.
При разработке API тестирование валидации входящих данных — рутинная задача. Чтобы упростить этот процесс, я создал пакет laravel-request-testdata, который автоматически генерирует тестовые данные на основе правил валидации Laravel Request.
Сегодня релиз Laravel 12, основной фишкой которого заявлены минимальные критические изменения. Большинство проектов могут быть обновлены до новой версии без изменений кода. Разработка Laravel 12 будет вестись до 13 августа 2026 года, а патчи безопасности будут выходить до 24 февраля 2027 года — итого два года поддержки.
На эту тему было опубликовано множество статей из различного рода источников и у многих заметил тенденцию когда каждый из трёх упомянутых технологий значительно лидирует по сравнению с остальными. Тем более что у многих показаны какие-то дикие результаты в виде 1к запросов в секунду...
И мне захотелось всё проверить своими руками...