Latest posts

Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
21 Sept, 07:51
⚡️ PHP 8.6 выйдет 19 ноября 2026 года. Сейчас версия находится в beta.Самые заметные изменения:🔴 Partial Function ApplicationМожно зафиксировать часть аргументов функции:$makeSlug = str_replace(' ', '-', ?);$makeSlug('Hello World'); // Hello-World🔴 clamp()Наконец отдельная функция для ограничения значения:clamp(101, min: 0, max: 100); // 100


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
20 Sept, 08:59
❓ Какие существуют проблемы в многопоточной среде?Основные проблемы многопоточности:1️⃣ Race Condition — когда результат работы зависит от порядка выполнения потоков. Например, два потока одновременно изменяют одну переменную без синхронизации.2️⃣ Deadlock — взаимная блокировка, когда потоки ждут друг друга. Классика: поток А держит ресурс 1 и ждёт ресурс 2, а поток Б держит ресурс 2 и ждёт ресурс 1.2️⃣ Livelock — потоки активны, но не могут продолжить работу, постоянно реагируя на действия друг друга. Например, как два человека в коридоре, которые одновременно пытаются уступить дорогу.4️⃣ Starvation — поток никогда не получает доступ к ресурсу из-за того, что другие потоки постоянно его перехватывают.
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
19 Sept, 10:16
🌞 В Symfony 8.2 появилось 29 новых Bundle — теперь компоненты вроде Mailer, Messenger и Cache сами поставляют конфигурацию и сервисы.Было:framework: mailer: dsn: '%env(MAILER_DSN)%’Стало:mailer: dsn: '%env(MAILER_DSN)%’Старый framework. при этом продолжает работать — существующие проекты менять не нужно.➡️ Ещё одно изменение: Forms больше не включает Validation автоматически. Для него теперь нужен symfony/validator.🔗 Источник🐸 Библиотека пхпшника
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
19 Sept, 09:01
А вы уже забрали свой подарок ко Дню программиста?К вашему профессиональному празднику Tproger, Proglib, Столото, Центральный университет и SmartApe собрали целую коробку подарков. Переходите по ссылке, трясите коробку и забирайте свой презент: https://tprg.ru/ZX3bРеклама. ИП Михайлишина Гузель Фаниловна, erid: 2W5zFJrVGHw


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
18 Sept, 09:02
🐸 Библиотека пхпшника


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
17 Sept, 10:09
🛠 str_contains и семья: проверяем строки без ловушекПроверка через strpos годами путала новичков:if (strpos($url, 'https') !== false) { // ... }➡️ Почему нужен именно !== false? Потому что совпадение в начале строки возвращает позицию 0, а 0 в PHP может трактоваться как false.С PHP 8.0 есть три функции, которые сразу возвращают bool:str_contains($email, '@'); // содержит подстроку str_starts_with($url, 'https://'); // начинается с str_ends_with($file, '.pdf'); // заканчивается наКод читается проще — без проверки позиции и !== false.📌 strpos всё ещё нужен, если требуется узнать позицию совпадения.
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
16 Sept, 08:00
⚡️ Symfony 8.2: команды Console теперь можно вызывать через пробелыВ Symfony команды обычно записываются через ::php bin/console tenant:users:import customers.csv➡️ В Symfony 8.2 появился альтернативный синтаксис:php bin/console tenant users import customers.csvОба варианта запускают одну и ту же команду.Главное отличие — в spaced-синтаксисе каждый уровень может обрабатывать собственные опции:php bin/console tenant --name=acme users import customers.csv --dry-runЗдесь:🔘 tenant получает опцию --name; 🔘 users — промежуточный уровень;


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
15 Sept, 07:35
💰 Версионирование бизнес-правил в LaravelБизнес-правила меняются, но старые решения должны оставаться объяснимыми. Например, цена для одного и того же автомобиля может отличаться в зависимости от даты счёта.Пакет Laravel Rulebook помогает:🤩 хранить правила в отдельных PHP-классах; 🤩 задавать периоды действия; 🤩 выбирать правило по приоритету; 🤩 объяснять, почему оно победило; 🤩 сохранять результат решения в snapshot.Пример:$decision = $rulebook->resolveAt( subject: $vehicle, at: $invoice->issued_at, context: $pricingContext, ); $price = $decision->outcome();


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
15 Sept, 06:35edited
😭 Как не потратить недельный лимит AI-кодинга за три дня?Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода.🔘 Поговорим о том:— когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge.✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после.⬇️ 17 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
14 Sept, 14:01
🌞 PayZephyr: единый API для платежей в LaravelStripe, PayPal, Paystack и другие платёжные системы — через один интерфейс. PayZephyr объединяет работу с 8 провайдерами и предлагает:— единый API для платежей; — переключение между провайдерами и failover; — защиту от повторного списания; — проверку подписей вебхуков; — возвраты и подписки.🔘 Пример:Payment::amount(100) ->currency('USD') ->pay();🔘 Возврат:Payment::refund($paymentId);


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
14 Sept, 11:32
🐸 Библиотека пхпшника


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
13 Sept, 11:02
🌸 Вселенная намекает: пора уже начать этот курсС 14 сентября цены в Proglib Academy вырастут на 20% 👀Так что если курс давно ждёт своего часа — лучше не откладывать ещё на месяц 😏📍 Выбрать курс
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
12 Sept, 10:00
🔐 Sqids в Laravel: короткие публичные IDАвтоинкрементные ID удобны в базе, но не всегда подходят для публичных URL.Sqids превращают их в короткие строки:637 → 4nxk2aПри этом внутри Laravel остаются обычные integer-ключи, связи Eloquent и индексы.В статье показано, как встроить Sqids в:🟡 route model binding; 🟡 API Resources; 🟡 foreign keys; 🟡 входящие запросы.🔗 Документация🐸 Библиотека пхпшника
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
12 Sept, 09:04
🌞 Готовим вебинар про AI в разработке и хотим сделать его максимально полезнымЧто реально хочется разобрать? Где чаще всего застреваете? Что пробовали, но так и не получилось нормально внедрить?🤩 Пишите вопросы в комментариях — самые залайканные разберём на вебинаре в первую очередь.Задавайте всё, что давно хотелось спросить 📍🐸 Библиотека пхпшника
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11 Sept, 10:15edited
📍 Laravel Telescope 5.24: отладка прямо из ArtisanВ новой версии Telescope искать и разбирать записи можно без открытия dashboard.➡️ Появились две команды:php artisan telescope:list request php artisan telescope:show latest:request➡️ list показывает последние записи Telescope. Можно фильтровать их по типу, тегу, batch ID и другим параметрам:php artisan telescope:list exception --limit=5 php artisan telescope:list request --tag=Auth:42 php artisan telescope:list --batch=79a09461➡️ show раскрывает конкретную запись и связанные с ней события: queries, cache operations, logs, exceptions и т. д.php artisan telescope:show latest:exception Для скриптов и coding agents есть --json: php artisan telescope:show latest:exception --json


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
10 Sept, 11:03
💥 Именованные аргументы вместо загадочных true/falseТакой вызов приходится расшифровывать:createUser('Аня', true, false, true);🔴 Что означает каждый bool?С PHP 8.0 можно передать аргументы по имени:createUser( name: 'Аня', isAdmin: true, sendEmail: false, verified: true, );Сигнатуру метода менять не нужно — именованные аргументы работают прямо с существующими параметрами.🔴 А ещё можно пропускать необязательные параметры и передавать только нужные:


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
9 Sept, 12:24
🧠 spatie/laravel-data: типизированные DTO для LaravelВместо массивов вроде:$email = $data['email']; $quantity = $data['quantity’];🔘 можно описать структуру данных отдельным классом:class OrderData extends Data { public function __construct( public string $email, public int $quantity, public ?string $promoCode = null, ) {} }🔘 И создать объект из входных данных:
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
8 Sept, 11:03
🤩 PHP и атрибуты: #[Override]В PHP 8.3 появился атрибут #[Override], который помогает ловить ошибки при переопределении методов.Если метода find() нет в родительском классе или интерфейсе, PHP сообщит об ошибке.Полезно при рефакторинге: переименовал метод в базовом классе — наследники не останутся с «тихо сломанным» override.🐸 Библиотека пхпшника


Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
7 Sept, 08:35
🔎 Как быстро увидеть, что вы изменили в php.iniВ PHP 8.5 появилась малоизвестная CLI-опция:php --ini=diffОна показывает только настройки, которые отличаются от стандартной конфигурации PHP.Полезно, когда нужно:— разобраться, чем production отличается от дефолта; — проверить Docker-образ; — перенести конфигурацию на новый сервер.Особенно удобно вместо ручного сравнения огромного php.ini.🐸 Библиотека пхпшника
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
6 Sept, 12:04
Фаталити 🤔🐸 Библиотека пхпшника
Related Channels
Other channels in the same section of the catalogue.
