Библиотека PHP программиста 👨🏼‍💻👩‍💻 – Telegram
Библиотека PHP программиста 👨🏼‍💻👩‍💻
2.16K subscribers
370 photos
171 videos
7 files
375 links
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon

По всем вопросам @evgenycarter
Download Telegram
Совет по Laravel💡

Schedule Shell Commands

Знаете ли вы, что Laravel Scheduler позволяет выполнять команды в операционной системе?

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍3
Профилирование PHP (Laravel) приложений с xhprof. Учимся искать ботлнеки

Вам знакомо то чувство, когда ваш PHP-код отрабатывает за дофига миллисекунд, а иногда и секунд, и вы не можете понять, в чём дело и где тот говнокод, который я (или не я, а мой коллега) когда-то написал? В этой статье хочу немного рассказать на примере профайлинга PHP-кода, как перестать гадать и начать выявлять боттлнеки, которые всё тормозят. Короче, помочь поискать говнокод. После этого у многих из вас появится понимание, как дать своему приложению прирост производительности с помощью крутых инструментов профайлинга, таких как xhprof и Buggregator.

https://habr.com/ru/articles/823156/

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Совет по Laravel💡

Знаете ли вы, что метод whereAny(), может осуществлять поиск по нескольким столбцам, используя логику OR.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Совет по Laravel💡

Знаете ли вы... В Laravel есть метод withProgressBar(), который позволяет добавлять прогресс-бары к консольным командам.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Совет по Laravel💡

Если вы хотите автоматически удалять старые записи, воспользуйтесь трейтом Prunable. Не нужно писать собственные команды.

#Laravel

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Совет по Laravel💡

Уникальные идентификаторы запросов

Вам когда-нибудь требовалось создать код уникального идентификатора для запроса, например, для целей кэширования? Laravel поставляется с методом «fingerprint», который позволяет вам генерировать уникальный идентификатор для ваших запросов 🚀

#laravel

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Совет по PHP

Очень простой, но очень важный:

1. Всегда определяйте, какой тип значения будет возвращать ваша функция. (I узнал об этом из Java ☕️ )
2. Всегда сохраняйте резервное значение в конце функции. Это обеспечит стабильность вашего кода. 💪

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎1🤔1
Совет по Laravel 💡

🛠️ Создайте собственные директивы Blade для часто используемых блоков кода в файлах представлений.

🧹 Это сделает ваши представления чище и проще в работе.

💁‍♂️ В качестве примера делюсь своей любимой пользовательской директивой Blade

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤔1
Совет по PHP/Laravel 💡

Вместо того чтобы выполнять цикл foreach по массиву для поиска значения записи, вы можете использовать метод Laravel Collection contains().

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👎4
Совет по PHP/Laravel 💡

Вместо того чтобы выполнять цикл foreach по массиву для поиска значения записи, вы можете использовать метод Laravel Collection contains().

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
💊4👍2
Привет, разработчики Laravel 👩‍💻

Начиная с Laravel v11.18.0, в методе Str::limit() появился новый параметр preserveWords.

Пример использования метода limit() — отображение предварительных версий текстового контента, таких как резюме или отрывки блог-постов.

Раньше при использовании метода limit он мог разрывать слова посередине.

Теперь мы можем передать параметр preserveWords как true, и Laravel умно применит ограничение так, чтобы последнее слово было полным.

Это может улучшить пользовательский опыт для некоторых приложений.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Совет по Laravel 💡

Вам нужно использовать одни и те же правила проверки пароля для разных маршрутов пользователей (например, при регистрации и создании панели администратора)?

Обратите внимание на функцию Password::defaults().

Ознакомьтесь со всеми правилами в документации: https://github.com/illuminate/validation/blob/master/Rules/Password.php

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Совет Laravel 🔥

В конструктор запросов Laravel входит функция lockForUpdate(). Она останавливает любые обновления или другую общую блокировку выбранной записи до тех пор, пока транзакция не будет завершена.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по Laravel 💡

Один из моих любимых недокументированных советов, который я регулярно использую. Используйте "wasRecentlyCreated", чтобы проверить, была ли модель создана или найдена в базе данных.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🧑‍💻 Пишете на PHP, упираетесь в производительность и всё чаще смотрите в сторону асинхронных решений? В какой-то момент вы столкнулись с ограничениями "короткоживущих" процессов и традиционного стека с PHP-FPM, особенно, при обработке "лёгких" запросов — нужны другие подходы к запуску и масштабированию приложений.

📖 На открытом уроке вы разберётесь, как устроен RoadRunner, в каких случаях он действительно даёт выигрыш и почему его выбирают для долгоживущих процессов и асинхронных задач. Мы покажем простой пример работы и разложим по полочкам сценарии применения.

❗️ Занятие будет полезно PHP-разработчикам, которые думают о производительных и асинхронных сервисах, хотят лучше понимать архитектуру и варианты горизонтального масштабирования. Вы получите конкретные идеи, как можно пересобрать свой подход к backend-части.

▶️ Встречаемся 23 декабря в 20:00 МСК в преддверие старта курса «PHP Developer. Professional»: https://vk.cc/cSrDOq

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Laravel💡

Хотите быстро вывести SQL-запросы, выполненные во время вашего запроса?

И не хотите устанавливать Debugbar, Telescope и т.п.?

Используйте DB::listen() с toRawSql()!

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Laravel разработчики, упростите загрузку файлов с этим инструментом! 💎

Используйте Storage::download(), чтобы принудительно запустить скачивание файла в браузере. Отлично подходит для защищенных файлов или генерации динамических загрузок.

Совет: Настройте имя файла и заголовки для большего контроля.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Media is too big
VIEW IN TELEGRAM
Полный курс Laravel Swagger. REST API Laravel

00:00:00 Введение
00:04:25 Делаем заготовку
00:16:20 Установка Swagger
00:22:18 Общие аннотации и настройки Swagger
00:28:01 CRUD со Swagger
01:03:03 Установка JWT Auth
01:13:08 Авторизация и защищенные роуты в Swagger
01:20:20 Бонус. Нестандартные тело запроса и ответа

источник

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
This media is not supported in your browser
VIEW IN TELEGRAM
🐘 PHP 8.5 выходит, а вы всё ещё не разобрались, какие фичи реально поменяют код, а какие останутся в релиз-нотах?

📖 На открытом уроке мы разберём, что именно вошло в релиз, какие изменения затронут ваш повседневный код и инфраструктуру, а какие можно отложить. Посмотрим на ключевые нововведения, изменения в языке и поведении, обсудим, как аккуратно внедрять их в проект.

❗️ Урок будет полезен практикующим PHP-разработчикам, которые хотят писать современный код, готовиться к обновлению продакшен-окружения и понимать, куда развивается стек. Вы получите структурированную выжимку вместо бесконечного чтения разрозненных статей.

▶️ Встречаемся 14 января в 20:00 МСК в преддверие старта курса «PHP Developer. Professional»https://vk.cc/cTkeTh

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужно кэшировать тяжелые вычисления в Laravel?

Используй помощник once, который выполняет обратный вызов один раз и кэширует результат.

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Чтение JSON-файлов в Laravel - проще простого

📲 Мы в MAX

👉 @php_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3