Схематично, простыми словами о внутреннем устройстве PHP (Zend Engine, OPCache, JIT)
Данный пост нацелен на неопытных PHP-специалистов. От этой информации лучше программировать вы не станете. Ожидаемая польза:
- Мне когнитивно и морально легче, когда уменьшается «магия» того, с чем работаешь. Может тебе тоже
- Возможно чуть-чуть реже статьи на хабре будут тебя отпугивать
Объясню на 4 примерах — каждый лишь немного сложнее предыдущего.
https://habr.com/ru/articles/844768/
👉 @php_lib
Данный пост нацелен на неопытных PHP-специалистов. От этой информации лучше программировать вы не станете. Ожидаемая польза:
- Мне когнитивно и морально легче, когда уменьшается «магия» того, с чем работаешь. Может тебе тоже
- Возможно чуть-чуть реже статьи на хабре будут тебя отпугивать
Объясню на 4 примерах — каждый лишь немного сложнее предыдущего.
https://habr.com/ru/articles/844768/
👉 @php_lib
🔥 Совет по Laravel: wherePivot.
В отношениях "многие-ко-многим" можно добавить операторы where в таблицу pivot, используя метод
👉 @php_lib
В отношениях "многие-ко-многим" можно добавить операторы where в таблицу pivot, используя метод
wherePivot
.👉 @php_lib
👍2🥱1
Магия нового помощника defer() в Laravel
Недавно в Laravel был добавлен новый помощник под названием defer(), который можно использовать для отложения выполнения обратного вызова до тех пор, пока успешный ответ не будет отправлен.
Таким образом, вы можете перенести трудоемкую работу (например, вызов внешнего API) в обратный вызов и вернуть ответ пользователю как можно быстрее.
Вот как это выглядит.
https://www.amitmerchant.com/the-magic-behind-laravels-new-defer-helper/
👉 @php_lib
Недавно в Laravel был добавлен новый помощник под названием defer(), который можно использовать для отложения выполнения обратного вызова до тех пор, пока успешный ответ не будет отправлен.
Таким образом, вы можете перенести трудоемкую работу (например, вызов внешнего API) в обратный вызов и вернуть ответ пользователю как можно быстрее.
Вот как это выглядит.
Route::get('/defer', function () {
defer(function () {
// do time-consuming work here
sleep(10);
});
return "Hello world";
});
https://www.amitmerchant.com/the-magic-behind-laravels-new-defer-helper/
👉 @php_lib
Amit Merchant - A blog on PHP, JavaScript, and more
The magic behind Laravel’s new defer() helper
Laravel has recently been shipped with a new helper called defer() which can be used to defer the execution of a callback until after a successful response has been sent.
👍3😁2
Yii Proxy
Пакет способен создавать общий прокси для класса, т.е. позволяет перехватывать все вызовы методов класса. Он используется в пакете yii-debug для сбора информации о вызовах методов сервиса.
https://github.com/yiisoft/proxy
👉 @php_lib
Пакет способен создавать общий прокси для класса, т.е. позволяет перехватывать все вызовы методов класса. Он используется в пакете 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
Валидация является общей задачей любого веб-приложения. Данные, передаваемые в приложение через формы - или любой другой тип ввода, - всегда должны быть проверены на соответствие определенному набору правил. Mighty может решить эту задачу простым и выразительным способом.
Mighty - это быстрая, мощная, надежная и простая в использовании библиотека валидации, с которой просто приятно работать, она позволяет легко проверять любые данные. Благодаря мощному языку Mighty Validation Expression Language (mVEL) она не похожа ни на что, что вы видели раньше. Благодаря его подходу к валидации и более чем 250 встроенным правилам нет практически ничего, что нельзя было бы проверить с его помощью, причем очень выразительно и компактно. Проще говоря, Mighty - это валидация на стероидах! Это действительно последняя библиотека валидации, которая вам когда-либо понадобится.
Mighty предлагает несколько различных подходов к проверке данных. Чаще всего она используется для проверки входящих данных через HTTP-запросы, но этим, конечно, не ограничивается; Mighty также предоставляет атрибуты в виде ограничений, что позволяет легко проверять модели и/или любые объекты.
Mighty включает в себя широкий набор удобных правил проверки, которые можно применять как отдельные правила, так и комбинировать их между собой с помощью операторов для построения более сложных проверок.
Установка
composer require marwanalsoltany/mighty
https://github.com/MarwanAlsoltany/mighty
👉 @php_lib
👍7❤3
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
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
Это библиотека умных директив Blade, перечисленных ниже. Цель - уменьшить количество повторяющейся (базовой) логики в ваших Blade Views, сократить код и улучшить читаемость.
https://github.com/djl997/blade-shortcuts
👉 @php_lib
GitHub
GitHub - djl997/blade-shortcuts: Blade Shortcuts is a library of handy Laravel Blade Directives.
Blade Shortcuts is a library of handy Laravel Blade Directives. - djl997/blade-shortcuts
👍4
Полное руководство по полнотекстовому поиску с помощью Laravel
В этом руководстве мы рассмотрим, как использовать функцию поиска в Laravel. Для начала мы расскажем о преимуществах полнотекстового поиска. Затем мы расскажем вам о том, как настроить полнотекстовый поиск в вашем приложении Laravel.
https://blog.meilisearch.com/laravel-full-text-search/
👉 @php_lib
В этом руководстве мы рассмотрим, как использовать функцию поиска в Laravel. Для начала мы расскажем о преимуществах полнотекстового поиска. Затем мы расскажем вам о том, как настроить полнотекстовый поиск в вашем приложении Laravel.
https://blog.meilisearch.com/laravel-full-text-search/
👉 @php_lib
👍4
Атрибуты PHP в Laravel
Атрибуты позволяют добавлять структурированную, машиночитаемую информацию о метаданных к декларациям в коде: Классы, методы, функции, параметры, свойства и константы класса могут быть объектом атрибута.
https://blog.oussama-mater.tech/php-attributes/
👉 @php_lib
Атрибуты позволяют добавлять структурированную, машиночитаемую информацию о метаданных к декларациям в коде: Классы, методы, функции, параметры, свойства и константы класса могут быть объектом атрибута.
https://blog.oussama-mater.tech/php-attributes/
👉 @php_lib
👍4
Самые популярные пакеты, запущенные в 2024 году 🚀
https://laralibrary.com/top-packages-launched/2024
👉 @php_lib
https://laralibrary.com/top-packages-launched/2024
👉 @php_lib
👍2👎1
Почему мне никто не рассказал об этой функции? Я годами преобразовывал объекты в массивы, чтобы использовать
Это всё меняет 🙈
👉 @php_lib
Arr::get()
. Это всё меняет 🙈
👉 @php_lib
👍12🤨6👎1😁1
Нужно кэшировать тяжелые вычисления в Laravel?
Используй помощник
👉 @php_lib
Используй помощник
once
, который выполняет обратный вызов один раз и кэширует результат.👉 @php_lib
👍5😁1🍓1
Организация кода в Laravel. Личный опыт
В статье я расскажу, как организую свой код в проектах, использующих Laravel. Решил немного структурировать, с чем удалось познакомиться после перехода в мир фреймворков из мира чудного (ударение можете сами поставить) Битрикс. Многие вещи стали для меня открытием и особенно переоткрыл для себя ООП. Начнем рассмотрение с практик организации кода проекта. Статья адресована начинающим разработчикам.
https://habr.com/ru/articles/760022/
👉 @php_lib
В статье я расскажу, как организую свой код в проектах, использующих Laravel. Решил немного структурировать, с чем удалось познакомиться после перехода в мир фреймворков из мира чудного (ударение можете сами поставить) Битрикс. Многие вещи стали для меня открытием и особенно переоткрыл для себя ООП. Начнем рассмотрение с практик организации кода проекта. Статья адресована начинающим разработчикам.
https://habr.com/ru/articles/760022/
👉 @php_lib
👍5
Media is too big
VIEW IN TELEGRAM
Введение в графовые БД в PHP
Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.
источник
👉 @php_lib
Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.
источник
👉 @php_lib
👍1
Асинхронный PHP с использованием ReactPHP
Асинхронное программирование позволяет решить традиционные проблемы синхронного программирования, позволяя выполнять задачи в фоновом режиме, не блокируя выполнение основной программы. Это означает, что программа может продолжать решать другие задачи, в то время как трудоемкие задачи выполняются в фоновом режиме.
https://medium.com/simform-engineering/asynchronous-php-using-reactphp-929185bef98c
👉 @php_lib
Асинхронное программирование позволяет решить традиционные проблемы синхронного программирования, позволяя выполнять задачи в фоновом режиме, не блокируя выполнение основной программы. Это означает, что программа может продолжать решать другие задачи, в то время как трудоемкие задачи выполняются в фоновом режиме.
https://medium.com/simform-engineering/asynchronous-php-using-reactphp-929185bef98c
👉 @php_lib
👍1
Понимание предопределенных констант PHP
PHP, как динамический и широко используемый скриптовый язык, оснащен множеством предопределенных констант.
Эти константы, являясь неотъемлемой частью ядра PHP, служат важными строительными блоками, предоставляющими полезную информацию о среде PHP и его конфигурации.
Давайте отправимся в путешествие, чтобы понять и использовать эти константы для более надежной и эффективной разработки на PHP.
https://dev.to/patricia1988hernandez2/understanding-php-predefined-constants-6db
👉 @php_lib
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
При разработке 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