Библиотека PHP программиста 👨🏼‍💻👩‍💻
2.18K subscribers
316 photos
168 videos
7 files
331 links
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon

По всем вопросам @evgenycarter
Download Telegram
Лучшие практики использования перечислений в PHP

Хотя перечисления в PHP призваны обеспечить простое и элегантное решение для работы с предопределенным набором значений, эти классы часто используются неправильно, что приводит к отсутствию согласованности из-за внедрения всевозможных методов, которые увеличивают их сложность. В этой статье мы рассмотрим некоторые методы (как хорошие, так и плохие) с целью прояснить понимание этих типов объектов, чтобы помочь вам построить более устойчивую и последовательную кодовую базу.

https://jeffochoa.me/php-enums-best-practices

👉 @php_lib
👍4
Совет по Laravel 💡

Eloquent метод orderByRaw() позволяет нам просто передать необработанный запрос для упорядочивания результатов.
Например, сортировка по разнице между двумя столбцами.

👉 @php_lib
👍8😁2
Совет по Laravel 💡

Если вы хотите показать «1 comment», но «2 commentS» с формой множественного числа в зависимости от количества, используйте `str()->plural()`.

Вы также можете использовать его с помощником `str()` или с классом `Str::`.
На ваше усмотрение.

https://laravel.com/docs/11.x/strings#method-str-plural

👉 @php_lib
8👍1
Совет по Laravel 💡

В Laravel есть функции oldestOfMany(), newestOfMany() и ofMany(), которые можно использовать для отношений hasMany.

👉 @php_lib
👍6
Что вы выберете?

A или B?

👉 @php_lib
День релиза! 🚀

Laravel v11.7.0
Folio v1.1.8
Installer v5.8.0
Jetstream v5.1.0
Octane v2.3.10
Pennant v1.7.1
Pulse v1.1.0
Reverb v1.0.0-beta10
Scout v10.9.0
Socialite v5.14.0
Valet v4.6.2

👉 @php_lib
👍4
Один из самых старых советов и подсказок Laravel, но каждый раз, когда я делюсь им, многие люди говорят: «Вау, я не знал этого, так круто».

Цикл «forelse» в Blade.

👉 @php_lib
👍15🔥4
Всегда радует этот небольшой рефактор для простых циклов «accumulation». Вы можете сразу же оптимизировать его с помощью встроенной в PHP функции `array_filter`. Больше ничего не требуется.

👉 @php_lib
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
Я создал прототип за выходне

phpup - однофайловый бинарник для запуска Composer и других инструментов, а также для установки PHP-интерпретатора для каждого проекта.

Для его использования не обязательно иметь установленный PHP на вашей машине.

https://github.com/pronskiy/phpup

👉 @php_lib
👍82
🚀 Совет по Laravel

Ускорьте миграции с помощью DB::unprepared()! ✔️

Простое выполнение файлов данных SQL для заполнения таблиц в Laravel. 🗂️

👉 @php_lib
👍3🔥2
🚀 Совет по Laravel

Если ваши маршруты содержат много контроллеров ресурсов, вы можете сгруппировать их и вызвать один Route::resources() вместо множества одиночных операторов Route::resource().

👉 @php_lib
👍5👎1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Недокументированная возможность в Phpstorm: нативная консоль php -a с автодополнением из IDE

В прошлой статье я уже рассказывал о том, что можно использовать консоль Xdebug как аналог Python Console в Phpstorm. В комментариях меня спросили, чем не подходит для этого нативная консоль php, которую можно вызвать командой php -a (Php Interactive Shell, далее в тексте будет просто консоль Php). Я тогда ответил, что она не интегрирована с IDE, и у нее нет соответствующих фич, таких как автодополнение. Однако недавно выяснилось, что на самом деле ее можно "интегрировать" с Phpstorm одним хитрым способом. Дело в том, что ее тоже можно запустить в режиме отладки, и тогда в качестве консоли отладки будет она сама. А в консоли отладки уже доступно автодополнение из IDE.

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

👉 @php_lib
👍8
Советы по Laravel

Если ваш URL содержит параметры запроса, но вы хотите получить URL без некоторых из них, вы можете использовать метод fullUrlWithoutQuery().

👉 @php_lib
👍5😁1
Сайт с пакетами для Laravel

Научитесь создавать PHP-пакеты для Laravel с нуля, следуя этой открытой документации. Вклад в разработку приветствуется.

https://larapackages.com/

👉 @php_lib
🔥5👍1
Совет по Laravel 💡

Скрытие столбцов на лету

Иногда вам может понадобиться скрыть атрибуты модели, которые не были определены в массиве «hidden». Laravel позволяет сделать это на лету с помощью метода «makeHidden» 🚀.

👉 @php_lib
👍5
Совет по Laravel 💡

Модификатор Faker «valid()»

Поскольку Laravel использует FakerPHP под капотом, вы можете использовать модификатор «valid()», чтобы убедиться, что сгенерированные фальшивые данные соответствуют определенным правилам 🚀.

👉 @php_lib
👍4
Совет по Laravel 💡

Улучшенная проверка наличия входных данных

Нам часто нужно проверить, содержит ли запрос определенные значения. Знаете ли вы, что Laravel поставляется с двумя классными методами, «has» и «hasAny», для элегантного выполнения таких проверок? 🚀

👉 @php_lib
👍8
Совет по Laravel💡

Написание чисел

Знаете ли вы, что с помощью помощника «Number», которым комплектуется Laravel, можно писать числа в разных локалях? 🚀

👉 @php_lib
👍3
Как мы знаем, Laravel продолжает улучшать опыт разработчиков (DX) при создании приложений. Из всех этих возможностей есть одна, которая мне нравится больше всего.

Это рендеринг почты в браузере!!!

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

Поэтому, если вы хотите быстро проверить, как выглядит ваше письмо, вы можете вернуть объект Mailable из route или controller, и Laravel умно отобразит HTML-шаблон в браузере.

👉 @php_lib
👍8
Простой способ внедрить https в продакшен-среде - просто добавьте это в провайдер app service provider

👉 @php_lib
👍2
Совет по Laravel💡

Используйте помощник Laravel optional() с callback для изящной обработки null-значений. 🕶️ Таким образом, вы сможете выполнять операции с потенциально null-значениями без выброса ошибок.

👉 @php_lib
👍3