Новый пакет hdaklue/LaraPath: билдер путей для PHP с поддержкой стратегий санитизации и интеграцией с Laravel
https://github.com/hdaklue/LaraPath
Посмотрите на примеры проблем и сценариев использования на скриншотах.
Больше реальных кейсов здесь:
https://github.com/hdaklue/LaraPath/blob/master/real-world-problems.md
👉 @PHPgx
https://github.com/hdaklue/LaraPath
Посмотрите на примеры проблем и сценариев использования на скриншотах.
Больше реальных кейсов здесь:
https://github.com/hdaklue/LaraPath/blob/master/real-world-problems.md
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😁2❤1
Совет по PHP
Совместите мощь генераторов с
Посмотрите пример, чтобы узнать, как это сделать
👉 @PHPgx
Совместите мощь генераторов с
SplFileObject, чтобы обрабатывать ОГРОМНЫЕ CSV-файлы, не беспокоясь о памяти!Посмотрите пример, чтобы узнать, как это сделать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍6
Метод
👉 @PHPgx
toRawSql в Laravel возвращает «сырой» SQL-запрос со всеми подставленными параметрами. Это удобный способ быстро увидеть сгенерированный SQL, а также скопировать и вставить запрос в ваше приложение для работы с БДPlease open Telegram to view this post
VIEW IN TELEGRAM
❤10👍9
Сегодня узнал про 🤩
И оно работает даже с объектами, так что вот простой способ получить все значения из backed enum…
(К тому же, в моих тестах это примерно в 2 раза быстрее, чем
👉 @PHPgx
array_column в PHP И оно работает даже с объектами, так что вот простой способ получить все значения из backed enum…
(К тому же, в моих тестах это примерно в 2 раза быстрее, чем
array_map.)Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍8
Нужно проверить, что во входных данных существуют ключи массива?
Используйте
Документация: https://laravel.com/docs/12.x/validation#rule-required-array-keys
👉 @PHPgx
Используйте
required_array_keys, чтобы убедиться, что указанные ключи присутствуют в данных массива, идеально подходит для API-эндпоинтов, где ожидается чёткая структура.Документация: https://laravel.com/docs/12.x/validation#rule-required-array-keys
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6
После 13 лет разработки на PHP я только что понял, что существует управляющая конструкция под названием
Она пропускает ещё и внешний цикл.
У меня просто взорвался мозг🤯
Как думаете, это хорошо или плохо?
👉 @PHPgx
continue 2.Она пропускает ещё и внешний цикл.
У меня просто взорвался мозг
Как думаете, это хорошо или плохо?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28😁4❤3
Работаете с PHP Enum? Параметры маршрута могут автоматически валидировать и инжектить значения Enum
Laravel вернёт 404 для некорректных значений Enum, так что контроллеры остаются чистыми.
Ссылка на документацию: https://laravel.com/docs/12.x/routing#implicit-enum-binding
👉 @PHPgx
Laravel вернёт 404 для некорректных значений Enum, так что контроллеры остаются чистыми.
Ссылка на документацию: https://laravel.com/docs/12.x/routing#implicit-enum-binding
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3👀2
Недавно вышел курс PHP Fundamentals - всё, что нужно знать о современном PHP в 10 коротких уроках. Идеально подходит для Laravel-разработчиков или для тех, кто хочет освоить PHP сегодня.
00:00 Why PHP?
01:41 Setup
03:50 Variables & Types
08:53 Arrays
15:48 Functions
21:10 Loops
31:15 Classes
43:35 Modern PHP
56:39 Composer
01:02:30 Your First PHP Application
Смотреть на YouTube
👉 @PHPgx
00:00 Why PHP?
01:41 Setup
03:50 Variables & Types
08:53 Arrays
15:48 Functions
21:10 Loops
31:15 Classes
43:35 Modern PHP
56:39 Composer
01:02:30 Your First PHP Application
Смотреть на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2🤯1
Совет по Laravel
Рейт-лимитинг иногда бывает непростым, верно? Но не в Laravel.
Посмотри, как просто применить rate limit для каждой команды и тарифного плана, с фоллбеком на IP
👉 @PHPgx
Рейт-лимитинг иногда бывает непростым, верно? Но не в Laravel.
Посмотри, как просто применить rate limit для каждой команды и тарифного плана, с фоллбеком на IP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Партиционирование таблиц в MySQL может существенно повысить производительность запросов за счёт разбивки больших таблиц на более мелкие физические файлы
👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
Привет, Laravel-разработчики
Вы наверняка знаете про метод
Начиная с Laravel v12.29.0 у нас появился новый метод
Простое, но отличное добавление в фреймворк. Что думаете об этом?
👉 @PHPgx
Вы наверняка знаете про метод
withoutGlobalScopes() в классе модели Eloquent, который отключает все глобальные скоупы у модели для текущего запроса.Начиная с Laravel v12.29.0 у нас появился новый метод
withoutGlobalScopesExcept(), который позволяет отключить все остальные скоупы, кроме указанных.Простое, но отличное добавление в фреймворк. Что думаете об этом?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
Использование именованных конструкторов может сильно упростить создание исключений
«Чит-код», о котором я всё время забываю, и который делает это возможным - это возможность PHP-классов устанавливать protected/private свойства у экземпляров, созданных внутри самого класса. Это супер-удобно
Это избавляет от необходимости переопределять конструктор и даёт больше свободы добавлять новые именованные конструкторы в будущем
👉 @PHPgx
«Чит-код», о котором я всё время забываю, и который делает это возможным - это возможность PHP-классов устанавливать protected/private свойства у экземпляров, созданных внутри самого класса. Это супер-удобно
Это избавляет от необходимости переопределять конструктор и даёт больше свободы добавлять новые именованные конструкторы в будущем
Please open Telegram to view this post
VIEW IN TELEGRAM
👎5❤2👍2
Совет по работе с filamentphp
Действия для строк таблицы не обязательно должны располагаться в конце.
С помощью
Документация: https://filamentphp.com/docs/4.x/tables/actions#positioning-record-actions-before-columns
👉 @PHPgx
Действия для строк таблицы не обязательно должны располагаться в конце.
С помощью
RecordActionsPosition::BeforeColumns или BeforeCells их можно перенести перед данными или даже перед колонкой с чекбоксами.Документация: https://filamentphp.com/docs/4.x/tables/actions#positioning-record-actions-before-columns
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥5
Можно сгенерировать коллекцию Postman прямо из своих Laravel-роутов
Просто установи пакет
👉 @PHPgx
Просто установи пакет
laravel-postman и выполни вот этоPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥3
Совет по Laravel
Нужно интегрироваться со сторонним сервисом? Поскольку HTTP-клиент в Laravel поддерживает макросы, можно определить под него отказоустойчивый HTTP-клиент с помощью макроса и использовать его по всему приложению
Смотри пример, чтобы узнать, как
👉 @PHPgx
Нужно интегрироваться со сторонним сервисом? Поскольку HTTP-клиент в Laravel поддерживает макросы, можно определить под него отказоустойчивый HTTP-клиент с помощью макроса и использовать его по всему приложению
Смотри пример, чтобы узнать, как
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Мега-совет по PHP: используйте
PHP скроет их значение в стектрейсах, сообщениях об ошибках и логах..
Это предотвращает случайные утечки секретов на проде. Абсолютный шедевр.✨
👉 @PHPgx
#[SensitiveParameter] для чувствительных параметров.PHP скроет их значение в стектрейсах, сообщениях об ошибках и логах..
Это предотвращает случайные утечки секретов на проде. Абсолютный шедевр.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21🔥16
Совет по filamentphp
Преобразуйте строки таблицы в сетку с помощью
На мобильных = 1 колонка
Начиная с md = 2 колонки
Начиная с xl = 3 колонки
Ссылка на доку: https://filamentphp.com/docs/4.x/tables/layout#arranging-records-into-a-grid
👉 @PHPgx
Преобразуйте строки таблицы в сетку с помощью
$table->contentGrid(). Отлично подходит для UI в стиле карточек или когда список выглядит слишком тесным.На мобильных = 1 колонка
Начиная с md = 2 колонки
Начиная с xl = 3 колонки
Ссылка на доку: https://filamentphp.com/docs/4.x/tables/layout#arranging-records-into-a-grid
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3
Совет по filamentphp
Группируйте по датам, а не по полным таймстампам. Применяйте
Ссылка на доку: https://filamentphp.com/docs/4.x/tables/grouping#date-groups
👉 @PHPgx
Группируйте по датам, а не по полным таймстампам. Применяйте
date() к группе для более чистых ежедневных сводокСсылка на доку: https://filamentphp.com/docs/4.x/tables/grouping#date-groups
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2