#полезное
😘 PHP готовится к историческому изменению лицензирования. В версии 9.0 язык перейдёт с собственных PHP License и Zend Engine License на стандартную BSD-3, что устранит давние юридические сложности. Это решение одобрено PHP Group и сейчас проходит финальное обсуждение.
Переход особенно важен для дистрибутивов Linux и open-source сообщества — новая лицензия полностью совместима с GPL. Изменения коснутся только юридических аспектов, сохранив все права разработчиков и пользователей. Интересно, что PHP начинал с GPLv2, но с третьей версии перешёл на двойное лицензирование.
Ссылка клик
👉 Новости 👉 База вопросов
Переход особенно важен для дистрибутивов Linux и open-source сообщества — новая лицензия полностью совместима с GPL. Изменения коснутся только юридических аспектов, сохранив все права разработчиков и пользователей. Интересно, что PHP начинал с GPLv2, но с третьей версии перешёл на двойное лицензирование.
Ссылка клик
Please open Telegram to view this post
VIEW IN TELEGRAM
PHP-разработчики, пишущие на JavaScript, после того как у них челюсть отвисает от того, что аналогичный функционал не идет из коробки в JS.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как отлаживать РНР-приложение?
Для отладки можно использовать встроенные функции РНР, такие как
👉 Новости 👉 База вопросов
Для отладки можно использовать встроенные функции РНР, такие как
var_dump() и error_reporting() , a также более сложные инструменты вроде Xdebug для работы с точками останова и трассировками. Логирование ошибок и профилирование кода также играют ключевую роль.Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😐 Вот как нужно писать на PHP
Инструменты для современного PHP сейчас реально на хорошем уровне. А значит, писать на PHP можно куда лучше, чем ты, возможно, думаешь.
Вдохновившись докладом Нуно Мадуро про современные PHP-инструменты, автор занялся обновлением своего стартового набора Fission, чтобы убедиться, что использует всё самое актуальное из того, что предлагает PHP для разработки.
И это полностью изменило его подход к написанию кода на PHP. Он нашёл идеальный стек инструментов.
https://www.youtube.com/watch?v=qkG2ybcmpZc
👉 Новости 👉 База вопросов
Инструменты для современного PHP сейчас реально на хорошем уровне. А значит, писать на PHP можно куда лучше, чем ты, возможно, думаешь.
Вдохновившись докладом Нуно Мадуро про современные PHP-инструменты, автор занялся обновлением своего стартового набора Fission, чтобы убедиться, что использует всё самое актуальное из того, что предлагает PHP для разработки.
И это полностью изменило его подход к написанию кода на PHP. Он нашёл идеальный стек инструментов.
https://www.youtube.com/watch?v=qkG2ybcmpZc
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Простая конкурентность на чистом PHP
https://stancl.substack.com/p/simple-concurrency-in-vanilla-php
👉 Новости 👉 База вопросов
https://stancl.substack.com/p/simple-concurrency-in-vanilla-php
Please open Telegram to view this post
VIEW IN TELEGRAM
Substack
Simple concurrency in vanilla PHP
An overly detailed dive into forking PHP processes
#статьи
😇 MoonVibe: генератор админ-панелей на основе ИИ за 5 минут
https://habr.com/ru/articles/929268/
👉 Новости 👉 База вопросов
https://habr.com/ru/articles/929268/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
MoonVibe: генератор админ-панелей на основе ИИ за 5 минут
Привет, друзья! Сегодня расскажу новом инструменте для MoonShine , который может серьезно изменить ваш подход к созданию админ-панелей. MoonVibe — генератор на основе LLM, который умеет создавать...
#Собес #php
🤔 Какие существуют типы ошибок в РНР?
PHP выделяет следующие основные типы ошибок: фатальные (Fatal Errors), предупреждения (Warnings), уведомления (Notices), ошибки синтаксиса (Parse Errors), устаревшие (Deprecated Errors) и строгие (Strict Errors). Каждый из них сигнализирует о разных проблемах в коде, от критических до МеНее ЗНачительных.
👉 Новости 👉 База вопросов
PHP выделяет следующие основные типы ошибок: фатальные (Fatal Errors), предупреждения (Warnings), уведомления (Notices), ошибки синтаксиса (Parse Errors), устаревшие (Deprecated Errors) и строгие (Strict Errors). Каждый из них сигнализирует о разных проблемах в коде, от критических до МеНее ЗНачительных.
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
👨💻 Релиз Laravel 12.21
https://github.com/laravel/framework/releases
👉 Новости 👉 База вопросов
https://github.com/laravel/framework/releases
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥱 Нужно выполнить поиск по нескольким столбцам с одним и тем же условием?
Используй методы
Документация: https://laravel.com/docs/12.x/queries#where-any-all-none-clauses
👉 Новости 👉 База вопросов
Используй методы
whereAny(), whereAll() или whereNone() вместо написания множества условий с OR или AND. Код станет гораздо чище и понятнее!Документация: https://laravel.com/docs/12.x/queries#where-any-all-none-clauses
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Как заставить ИИ писать код по стилю
Нашёл оптимизированные для ИИ гайдлайны, специально отформатированные для Claude Code и аналогичных инструментов. Это позволяет генерировать код в соответствии со стандартами Laravel и PHP от Spatie.
Файл с гайдлайнами, адаптированными под ИИ, можно посмотреть здесь: https://spatie.be/guidelines/ai
👉 Новости 👉 База вопросов
Нашёл оптимизированные для ИИ гайдлайны, специально отформатированные для Claude Code и аналогичных инструментов. Это позволяет генерировать код в соответствии со стандартами Laravel и PHP от Spatie.
Файл с гайдлайнами, адаптированными под ИИ, можно посмотреть здесь: https://spatie.be/guidelines/ai
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 Как предотвратить SQL-иньекции в РНР-приложениях?
SQL-иньекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.
👉 Новости 👉 База вопросов
SQL-иньекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥄 Новое в Laravel 12.21 на этой неделе:
Теперь при запуске
Ранее Laravel показывал это только при запуске с указанием конкретного сидера через
Ссылка на PR:
https://github.com/laravel/framework/pull/56310
👉 Новости 👉 База вопросов
Теперь при запуске
php artisan db:seed будет отображаться время выполнения.Ранее Laravel показывал это только при запуске с указанием конкретного сидера через
--class=SomeSeeder.Ссылка на PR:
https://github.com/laravel/framework/pull/56310
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Совет по PHP: знали ли вы, что
Функция вернёт
Проверка выполняется слева направо и останавливается при первом необъявленном или
Документация: https://php.net/manual/en/function.isset.php
👉 Новости 👉 База вопросов
isset() может принимать несколько аргументов?Функция вернёт
true только в том случае, если все переданные переменные считаются установленными.Проверка выполняется слева направо и останавливается при первом необъявленном или
null-значении.Документация: https://php.net/manual/en/function.isset.php
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 How to: миграция больших баз данных в Laravel
Статья описывает стратегию миграции больших баз данных в Laravel без простоя и с минимальным риском ошибок, подходящую для высоконагруженных приложений. Основная цель — избежать блокировок таблиц, сбоев и ошибок во время трафика, что критично для таких систем, как электронная коммерция или банковские приложения.
Основная стратегия — это метод «Double Write + Backfill», который включает несколько шагов:
1⃣ Добавление новых колонок или таблиц без удаления старых, чтобы данные продолжали работать.
2⃣ Реализация логики «двойной записи»: во время обновлений и вставок данных записываются в обе колонки (старую и новую).
3⃣ Заполнение новых данных с помощью команд Artisan для миграции существующих записей.
4⃣ Подготовка плана отката на случай ошибок.
5⃣ Переход на новую структуру после завершения миграции и перехода всех данных.
Medium
👉 Новости 👉 База вопросов
Статья описывает стратегию миграции больших баз данных в Laravel без простоя и с минимальным риском ошибок, подходящую для высоконагруженных приложений. Основная цель — избежать блокировок таблиц, сбоев и ошибок во время трафика, что критично для таких систем, как электронная коммерция или банковские приложения.
Основная стратегия — это метод «Double Write + Backfill», который включает несколько шагов:
Medium
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #php
🤔 В чем разница между методами GET и POST?
Метод GET используется для получения данных, а POST — для их отправки на сервер. Данные GET передаются через URL, a POST - в теле запроса. GET запросы кэшируются и могут быть сохранены в истории браузера, тогда как POST запросы более защищены для передачи данных.
👉 Новости 👉 База вопросов
Метод GET используется для получения данных, а POST — для их отправки на сервер. Данные GET передаются через URL, a POST - в теле запроса. GET запросы кэшируются и могут быть сохранены в истории браузера, тогда как POST запросы более защищены для передачи данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Используйте метод
Это намного быстрее, чем сначала проверять существование записи, особенно при массовых вставках.
Документация: https://laravel.com/docs/12.x/queries#upserts
Примечание: Все базы данных, кроме SQL Server, требуют, чтобы колонки, указанные во втором аргументе метода
Кроме того, драйверы баз данных MariaDB и MySQL игнорируют второй аргумент
👉 Новости 👉 База вопросов
upsert() для эффективных операций "вставить или обновить" в одном SQL-запросе.Это намного быстрее, чем сначала проверять существование записи, особенно при массовых вставках.
Документация: https://laravel.com/docs/12.x/queries#upserts
Примечание: Все базы данных, кроме SQL Server, требуют, чтобы колонки, указанные во втором аргументе метода
upsert, имели первичный или уникальный индекс.Кроме того, драйверы баз данных MariaDB и MySQL игнорируют второй аргумент
upsert и всегда используют первичный и уникальные индексы таблицы для определения существующих записей.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Совет по Laravel для API
Хочешь единообразные ответы об успехе и ошибках?
Вот пример кода, который я увидел в одном опенсорс проекте:
Зарегистрируй кастомные функции как макросы (
Конечно, альтернатива — вынести эти методы в трейты или базовый контроллер
👉 Новости 👉 База вопросов
Хочешь единообразные ответы об успехе и ошибках?
Вот пример кода, который я увидел в одном опенсорс проекте:
Зарегистрируй кастомные функции как макросы (
Macro) в фасаде Response через ServiceProvider.Конечно, альтернатива — вынести эти методы в трейты или базовый контроллер
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😇 Плагин Laravel Idea стал бесплатным
https://blog.jetbrains.com/phpstorm/2025/07/laravel-idea-is-now-free/
👉 Новости 👉 База вопросов
https://blog.jetbrains.com/phpstorm/2025/07/laravel-idea-is-now-free/
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
The Laravel Idea Plugin is Now Free for PhpStorm Users | The PhpStorm Blog
Starting July 30, 2025, we’re making Laravel Idea free for PhpStorm users. If you have the Laravel Idea plugin installed, you get full access to all plugin features at no extra cost.
❤2
#Собес #php
🤔 Как работают сессии в РНР?
Сессия - это механизм сохранения данных между запросами. При запуске сессии сервер генерирует уникальный идентификатор (ID), который хранится в cookie или передаётся через URL. Сервер сохраняет данные сессии на стороне сервера, а клиент использует идентификатор для доступа к этим данным.
👉 Новости 👉 База вопросов
Сессия - это механизм сохранения данных между запросами. При запуске сессии сервер генерирует уникальный идентификатор (ID), который хранится в cookie или передаётся через URL. Сервер сохраняет данные сессии на стороне сервера, а клиент использует идентификатор для доступа к этим данным.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😴 Laravel Rate Limiting — Explained with Real-Life Examples
https://backpackforlaravel.com/articles/tutorials/laravel-rate-limiting-explained-with-real-life-examples
👉 Новости 👉 База вопросов
https://backpackforlaravel.com/articles/tutorials/laravel-rate-limiting-explained-with-real-life-examples
Please open Telegram to view this post
VIEW IN TELEGRAM
Backpack
Laravel Rate Limiting — Explained with Real-Life Examples
Imagine this — your app is running smoothly, then suddenly it gets hit with a wave of requests. Some from real users, others from bots...