#Собес #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.
❤1
#Собес #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...
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👋 Плагин Laravel Idea теперь БЕСПЛАТНЫЙ для пользователей PhpStorm
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
❤1
#полезное
❤️🔥 SQL Generated Columns and Views: How to Use Them in Your Laravel App
https://tighten.com/insights/sql-generated-columns-and-views-how-to-use-them-in-your-laravel-app/
👉 Новости 👉 База вопросов
https://tighten.com/insights/sql-generated-columns-and-views-how-to-use-them-in-your-laravel-app/
Please open Telegram to view this post
VIEW IN TELEGRAM
Tighten
SQL Generated Columns and Views: How to Use Them in Your Laravel App
Over the years of working with Laravel Eloquent models, I've come to appreciate how clean and elegant they can make a codebase. Along the way, I've learned which queries they run under the hood and which native SQL features...
❤1
#Собес #php
🤔 Как можно улучшить производительность РНР-приложения?
Для улучшения производительности используйте кеширование (например, Opcache), минимизируйте сложность запросов к базе данных с помощью индексации и подготовленных запросов, а также обновляйте РНР до последней версии. Сократите использование тяжёлых библиотек, оптимизируйте работу с файлами и используйте CDN для загрузки статического контента.
👉 Новости 👉 База вопросов
Для улучшения производительности используйте кеширование (например, Opcache), минимизируйте сложность запросов к базе данных с помощью индексации и подготовленных запросов, а также обновляйте РНР до последней версии. Сократите использование тяжёлых библиотек, оптимизируйте работу с файлами и используйте CDN для загрузки статического контента.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1