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

По всем вопросам @evgenycarter
Download Telegram
Yii Proxy

Пакет способен создавать общий прокси для класса, т.е. позволяет перехватывать все вызовы методов класса. Он используется в пакете yii-debug для сбора информации о вызовах методов сервиса.

https://github.com/yiisoft/proxy

👉 @php_lib
👍5
Mighty

Валидация является общей задачей любого веб-приложения. Данные, передаваемые в приложение через формы - или любой другой тип ввода, - всегда должны быть проверены на соответствие определенному набору правил. Mighty может решить эту задачу простым и выразительным способом.

Mighty - это быстрая, мощная, надежная и простая в использовании библиотека валидации, с которой просто приятно работать, она позволяет легко проверять любые данные. Благодаря мощному языку Mighty Validation Expression Language (mVEL) она не похожа ни на что, что вы видели раньше. Благодаря его подходу к валидации и более чем 250 встроенным правилам нет практически ничего, что нельзя было бы проверить с его помощью, причем очень выразительно и компактно. Проще говоря, Mighty - это валидация на стероидах! Это действительно последняя библиотека валидации, которая вам когда-либо понадобится.

Mighty предлагает несколько различных подходов к проверке данных. Чаще всего она используется для проверки входящих данных через HTTP-запросы, но этим, конечно, не ограничивается; Mighty также предоставляет атрибуты в виде ограничений, что позволяет легко проверять модели и/или любые объекты.

Mighty включает в себя широкий набор удобных правил проверки, которые можно применять как отдельные правила, так и комбинировать их между собой с помощью операторов для построения более сложных проверок.

Установка
composer require marwanalsoltany/mighty

https://github.com/MarwanAlsoltany/mighty

👉 @php_lib
👍73
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 Бонус. Нестандартные тело запроса и ответа

источник

👉 @php_lib
👍9
Blade Shortcuts

Это библиотека умных директив Blade, перечисленных ниже. Цель - уменьшить количество повторяющейся (базовой) логики в ваших Blade Views, сократить код и улучшить читаемость.

https://github.com/djl997/blade-shortcuts

👉 @php_lib
👍4
Полное руководство по полнотекстовому поиску с помощью Laravel

В этом руководстве мы рассмотрим, как использовать функцию поиска в Laravel. Для начала мы расскажем о преимуществах полнотекстового поиска. Затем мы расскажем вам о том, как настроить полнотекстовый поиск в вашем приложении Laravel.

https://blog.meilisearch.com/laravel-full-text-search/

👉 @php_lib
👍4
Атрибуты PHP в Laravel

Атрибуты позволяют добавлять структурированную, машиночитаемую информацию о метаданных к декларациям в коде: Классы, методы, функции, параметры, свойства и константы класса могут быть объектом атрибута.

https://blog.oussama-mater.tech/php-attributes/

👉 @php_lib
👍4
Самые популярные пакеты, запущенные в 2024 году 🚀

https://laralibrary.com/top-packages-launched/2024

👉 @php_lib
👍2👎1
Почему мне никто не рассказал об этой функции? Я годами преобразовывал объекты в массивы, чтобы использовать Arr::get().

Это всё меняет 🙈

👉 @php_lib
👍12🤨6👎1😁1
Нужно кэшировать тяжелые вычисления в Laravel?

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

👉 @php_lib
👍5😁1🍓1
Чтение JSON-файлов в Laravel - проще простого

👉 @php_lib
👍6
Организация кода в Laravel. Личный опыт

В статье я расскажу, как организую свой код в проектах, использующих Laravel. Решил немного структурировать, с чем удалось познакомиться после перехода в мир фреймворков из мира чудного (ударение можете сами поставить) Битрикс. Многие вещи стали для меня открытием и особенно переоткрыл для себя ООП. Начнем рассмотрение с практик организации кода проекта. Статья адресована начинающим разработчикам.

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

👉 @php_lib
👍5
Media is too big
VIEW IN TELEGRAM
Введение в графовые БД в PHP

Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.

источник

👉 @php_lib
👍1
Асинхронный PHP с использованием ReactPHP

Асинхронное программирование позволяет решить традиционные проблемы синхронного программирования, позволяя выполнять задачи в фоновом режиме, не блокируя выполнение основной программы. Это означает, что программа может продолжать решать другие задачи, в то время как трудоемкие задачи выполняются в фоновом режиме.

https://medium.com/simform-engineering/asynchronous-php-using-reactphp-929185bef98c

👉 @php_lib
👍1
Совет по Laravel 💡: Метод «diffInDaysFiltered»

Вам когда-нибудь требовалось подсчитать количество дней между двумя датами при фильтрации по условию? Поскольку Laravel использует Carbon под капотом, вы можете использовать «diffInDaysFiltered», чтобы сделать именно это 🚀.

#laravel

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

Легко обновляйте столбцы JSON с помощью синтаксиса стрелок Laravel! Используйте -> для указания конкретных ключей в ваших JSON-данных. Работает с MariaDB 10.3+, MySQL 5.7+ и PostgreSQL 9.5+.

#laravel

👉 @php_lib
👍6
Понимание предопределенных констант PHP

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

Эти константы, являясь неотъемлемой частью ядра PHP, служат важными строительными блоками, предоставляющими полезную информацию о среде PHP и его конфигурации.

Давайте отправимся в путешествие, чтобы понять и использовать эти константы для более надежной и эффективной разработки на PHP.

https://dev.to/patricia1988hernandez2/understanding-php-predefined-constants-6db

👉 @php_lib
👍3
Idempotency — что это такое и как это может помочь нашим API в Laravel?

При разработке API идемпотентность — это важное понятие, о котором нужно знать. Если API поддерживает идемпотентность, клиент передает уникальный ключ для каждого запроса, который сервер использует, чтобы избежать повторной обработки запросов, отправленных несколько раз.
Это помогает избежать, например, проблем с многократной обработкой платежей или повторной отправкой форм, когда у пользователя нестабильное подключение. Этот концепт поддерживается в одних из самых популярных SDK от таких компаний, как Stripe, Paypal, Amazon и Shopify.
В этом посте мы рассмотрим конкретные преимущества, которые идемпотентность приносит нашим API, а также представим пакет, который позволяет легко добавить поддержку идемпотентности в любой Laravel API!

https://www.conroyp.com/articles/what-is-idempotency-add-to-laravel-apis

👉 @php_lib
👍4
Как проверить, пуста ли коллекция Laravel?

Как веб-разработчику на Laravel, вам часто придется работать с коллекциями, массивами PHP и массивами JavaScript. Одна из распространенных задач, с которой я сталкиваюсь регулярно, — это проверка, пусты ли эти структуры или нет.

Если вы похожи на меня, то, вероятно, вы пытались взаимодействовать с классом Collection так, как если бы это был массив (случайно или намеренно). Хотя в большинстве случаев это возможно, существует одна распространенная «ловушка», о которой нужно знать, чтобы избежать багов в вашем коде! На самом деле, я написал эту статью потому, что сам попался на эту ловушку и потратил немало времени, пытаясь понять, что происходит.

https://ashallendesign.co.uk/blog/how-to-check-if-a-laravel-collection-is-empty

👉 @php_lib
👍3
Профайлинг Laravel приложений с XDebug и PHPStorm

Привет, меня зовут Ваня, я работаю PHP-разработчиком в Санкт-Петербургском электротехническом университете ЛЭТИ. Профайлинг приложений важный этап перед релизом ресурсоёмкой фичи, везде трубят про удобную отладку PHP-приложений при помощи XDebug и PHPStorm, однако напрочь забывают про замеры времени операций, которые, порой, превышают те самые 3 секунды, которые пользователь будет ждать на странице. Если у Вас есть метод API, который долго работает, самое время его проверить профайлером XDebug, а PHPStorm поможет красиво визуализировать и изучить файл профиля.

Я не буду писать про настройку XDebug вместе с Docker контейнером и Laravel Sail, потому что про это есть тонна статей, в том числе и на русском. Однако, эта статья предполагает, что у Вас есть настроенный XDebug в связке с PHPStorm в Docker контейнере или другой среде.

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

👉 @php_lib
👍7