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

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

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

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

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

👉 @php_lib
👍12
Привет, я Jippi bot,  я помогу тебе составить хорошее резюме php, javascript разработчика на русском или английском языке, а так же могу присылать тебе подходящие вакансии, все что тебе нужно это пройти опрос по ссылке Пройти опрос

Реклама. Курлович Д.В. ИНН 890508974718.
👍1
Асинхронный PHP с использованием ReactPHP

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

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

👉 @php_lib
👍5
PHP для начинающих - полный курс (2023)

00:00:00 - How to Choose a Programming Language
00:01:21 - Tools of the Trade
00:09:58 - Your First PHP Tag
00:18:07 - Variables
00:25:26 - Conditionals and Booleans
00:36:33 - Arrays
00:45:11 - Associative Arrays
00:52:30 - Functions and Filters
01:04:52 - Lambda Functions
01:17:00 - Separate Logic From the Template
01:25:35 - Technical Check-in #1 (With Quiz)
01:30:30 - Page Links
01:41:30 - PHP Partials
01:50:41 - Superglobals and Current Page Stylings
02:03:39 - Make a PHP Router
02:21:41 - Create a MySQL Database
02:27:51 - PDO First Stepss
02:42:15 - Extract a PHP Database Class
02:52:50 - Environments and Configuration Flexibility
03:05:50 - SQL Injection Vulnerabilities Explained
03:16:46 - Database Tables and Indexes
03:24:38 - Render the Notes and Note Pages
03:39:06 - Introduction to Authorization
03:53:27 - Programming is Rewriting
04:05:44 - Intro to Forms and Request Methods
04:23:52 - Always Escape Untrusted Input
04:32:13 - Intro to Form Validations
04:45:04 - Extract a Simple Validator Class
04:56:47 - Resourceful Naming Conventions
05:03:23 - PHP Autoloading and Extractions
05:23:00 - Namespacing: What, Why, How?
05:34:10 - Handle Multiple Request Methods From a Controller Action?
05:46:22 - Build a Better Router
06:07:07 - One Request, One Controller
06:14:14 - Make Your First Service Containers
06:33:37 - Updating With PATCH Requests
06:54:51 - PHP Sessions 101
07:08:47 - Register a New User
07:27:47 - Introduction to Middleware
07:49:52 - Manage Passwords Like This For The Remainder of Your Career
07:54:42 - Log In and Log Outs
08:20:27 - Extract a Form Validation Object
08:34:03 - Extract an Authenticator Class
08:47:24 - The PRG Pattern (and Session Flashing)
09:08:42 - Flash Old Form Data to the Session
09:14:39 - Automatically Redirect Back Upon Failed Validations
09:40:46 - Composer and Free Autoloading
09:53:59 - Install Two Composer Packages: Collections and PestPHP
10:09:36 - Testing Approaches, Terms, and Considerations
10:27:41 - The Next Step in Your Php Journey

https://www.youtube.com/watch?v=dVttuOjew3E

👉 @php_lib
👍9
Laravel разработчики, упростите загрузку файлов с этим инструментом! 💎

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

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

👉 @php_lib
👍8
Свой первый модуль для админки битрикс, первое субъективное впечатление

Итак после первых плагинов для ВордПресс и джумла пришла пора сделать что-то похожее в Битрикс.

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

И вот так получилось, что свежие мозги прошлись по ВордПрессу, Джумла и теперь взялись за Битрикс.

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

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

👉 @php_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Некоторые разработчики всё ещё используют artisan-команды для создания файлов. Существует гораздо более быстрый вариант! И он сразу открывает файл с курсором в нужном месте!

#laravel #php

👉 @php_lib
👎5👍2🤔1
Схематично, простыми словами о внутреннем устройстве PHP (Zend Engine, OPCache, JIT)

Данный пост нацелен на неопытных PHP-специалистов. От этой информации лучше программировать вы не станете. Ожидаемая польза:

- Мне когнитивно и морально легче, когда уменьшается «магия» того, с чем работаешь. Может тебе тоже
- Возможно чуть-чуть реже статьи на хабре будут тебя отпугивать

Объясню на 4 примерах — каждый лишь немного сложнее предыдущего.

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

👉 @php_lib
🔥 Совет по Laravel: wherePivot.

В отношениях "многие-ко-многим" можно добавить операторы where в таблицу pivot, используя метод wherePivot.

👉 @php_lib
👍2🥱1
Магия нового помощника defer() в Laravel

Недавно в 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
👍3😁2
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