Php Profi New Posts http://phpprofi.ru/ Mon, 18 Oct 2021 07:27:40 GMT ru-RU Новая мажорная версия Flysystem https://phpprofi.ru/blogs/post/124 Thu, 31 Dec 2020 04:56:59 GMT buggybux alt

Для тех, кто пропустил: 24 ноября вышла новая мажорная версия Flysystem. Новая версия позволяет порвать с прошлым ради будущего, что я и сделал.

Для создания второй версии Flysystem я начал с чистого листа. Многие основные элементы дизайна библиотеки были почищены и улучшены. API уменьшен, сохраняя при этом свой прежний функционал. Обработка ошибок теперь основана только на исключениях, а листинг директорий теперь используют генераторами. Несмотря на то, что изменений много, эта версия Flysystem верна своим корням. Давайте погрузимся в детали!

]]>
Конечные автоматы для Eloquent https://phpprofi.ru/blogs/post/123 Thu, 31 Dec 2020 04:47:50 GMT alek13 Eloquent State Machines

Laravel Eloquent State Machines - это пакет Андре Сантибаньеса(Andrés Santibáñez), который упрощает переход состояний Eloquent-моделей:

В эти выходные я начал работать над новым пакетом для @laravelphp, реализующий управоение конечными автоматами для моделей Eloquent. Было прикольно и я многому научился в процессе.

Я только что тегнул версию v1.0.0. Наслаждайтесь!

Отзывы приветствуются!

- Андрес Сантибаньес (@asantibanez) 7 декабря 2020 года

]]>
Создаём REST API с помощью Laravel Orion https://phpprofi.ru/blogs/post/121 Wed, 30 Dec 2020 16:17:43 GMT buggybux Building REST APIs with Laravel Orion

Вы заметили, что при создании API вы часто продолжаете писать один и тот же код снова и снова? Вы создаете контроллер для [назовите свою сущность здесь] с методами для составления списка, создания, отображения, обновления и удаления этой [сущности]. Затем вы создаете другой контроллер, и это происходит снова и снова. Затем вам нужно написать некоторые кастомные методы (endpoint'ы) только для поддержки обновления отношения или поля в сводной таблице. Звучит знакомо, не правда ли?

]]>
При разработке локально используйте queue:listen вместо queue:work https://phpprofi.ru/blogs/post/122 Tue, 29 Dec 2020 22:40:20 GMT alek13 Use queue:listen instead of queue:work when developing locally

Laravel имеет мощную систему очередей, и когда вы используете очереди, вам нужно запускать обработчики. Как правило, в рабочей среде вы используете команду queue:work для их запуска, но это долгоживущие процессы, которые хранят загруженное состояние приложения в памяти. Таким образом, это означает, что после того, как вы внесете какие-либо изменения в код, вам нужно будет перезапустить их, чтобы они использовали новый код.

]]>
Laravel Desktop Notifier https://phpprofi.ru/blogs/post/120 Mon, 28 Dec 2020 20:44:49 GMT buggybux Laravel Desktop Notifier

]]>
Сравнение производительности Xdebug 2 и Xdebug 3 https://phpprofi.ru/blogs/post/118 Fri, 25 Dec 2020 04:33:23 GMT buggybux Xdebug 2 vs 3 benchmark

Xdebug - это расширение PHP, которое помогает в отладке, трассировке, профилировании и предоставляет инструменты для покрытия кода, а также совершенствует PHP с помощью более информативных функций отладки. Xdebug - это де-факто PHP-расширение для пошаговой отладки PHP и продуманный инструмент для разработки на PHP.

Разработанная Derick Rethans (Дерик Ритенс), Xdebug 2 - это текущая стабильная версия. Пре-релиз Xdebug 3 вышел всего несколько дней назад, и в этой статье приводятся улучшения производительности в новой версии. 

]]>
Как создать корзину с мягким удалением в Laravel 8 и 7 https://phpprofi.ru/blogs/post/117 Thu, 03 Dec 2020 13:39:02 GMT buggybux Всем привет! Я хотел бы рассмотреть некоторые концепции удаления в Laravel. Иногда нам может понадобиться спроектировать приложение так, чтобы в случае удаления пользователем данных, они не удалялись бы навсегда и все равно оставались в базе данных, но внешне не отображались. Laravel предоставил нам эту функцию "из коробки" под названием softDelete, поэтому я проиллюстрирую как удалить, просмотреть, восстановить и как навсегда удалить удаленные данные. Я назвал эту концепцию Корзиной (Recycle Bin).

Если вы предпочитаете видео, вы можете посмотреть видео на Youtube.

]]>
Оптимизация изображений с помощью GitHub Action https://phpprofi.ru/blogs/post/116 Tue, 01 Dec 2020 13:18:26 GMT buggybux На днях я опробовал GitHub Actions. Это классный инструмент! Кратко: с его помощью можно запускать код за вас, например, запускать ваши процессы сборки, тесты и развертывания. Это просто файлы конфигурации, которые могут запускать все, что вам нужно. Существует целый маркетплейс Action'ов (действий), готовых работать на вас.

]]>
Жадная загрузка в моделях маршрутов https://phpprofi.ru/blogs/post/115 Thu, 19 Nov 2020 13:36:14 GMT buggybux

TLDR: перезапишите метод resolveRouteBinding в вашей Eloquent-модели для жадной загрузки (eager loading) отношений, которые понадобится использовать.

]]>
Symfony Panther: PHP-библиотека для тестирования из браузера и парсинга веб-страниц https://phpprofi.ru/blogs/post/106 Thu, 12 Nov 2020 03:27:24 GMT buggybux С самой первой версии Symfony 2, фреймворк предоставлял набор удобных инструментов для создания функциональных тестов. Они используют компоненты BrowserKit и DomCrawler для имитации веб-браузера, которые имеют дружественный API для разработчиков.

]]>