#Собес #Laravel
🤔 Что такое внедрение зависимостей в РНР- фреймворках?
Внедрение зависимостей - это паттерн проектирования, при котором объект получает свои зависимости (например, другие объекты) извне, а не создает их внутри себя. Это снижает зависимость классов друг от друга, улучшая тестируемость и поддерживаемость кода. В РНР фреймворках это реализуется через контейнеры зависимостей, которые управляют созданием и жизненным циклом объектов.
👉 Новости 👉 База вопросов
Внедрение зависимостей - это паттерн проектирования, при котором объект получает свои зависимости (например, другие объекты) извне, а не создает их внутри себя. Это снижает зависимость классов друг от друга, улучшая тестируемость и поддерживаемость кода. В РНР фреймворках это реализуется через контейнеры зависимостей, которые управляют созданием и жизненным циклом объектов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Совет по Laravel.
Защитите ваше приложение от спамеров при регистрации.
Побочный эффект: если вы отправляете электронные письма при регистрации, это поможет избежать переполнения очереди email-уведомлений и лишних расходов на услуги почтового провайдера.
После достижения лимита пользователи/боты будут получать ошибку "429 Too Many Requests"
👉 Новости 👉 База вопросов
Защитите ваше приложение от спамеров при регистрации.
Побочный эффект: если вы отправляете электронные письма при регистрации, это поможет избежать переполнения очереди email-уведомлений и лишних расходов на услуги почтового провайдера.
После достижения лимита пользователи/боты будут получать ошибку "429 Too Many Requests"
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Reli — профилировщик выборки или памяти
Это профилировщик, написанный на PHP, который считывает информацию о запуске виртуальной машины PHP извне процесса. Вы можете обнаружить узкие места производительности или утечки памяти в своих скриптах, не меняя целевой скрипт и не загружая расширения.
Гитхаб
👉 Новости 👉 База вопросов
Это профилировщик, написанный на PHP, который считывает информацию о запуске виртуальной машины PHP извне процесса. Вы можете обнаружить узкие места производительности или утечки памяти в своих скриптах, не меняя целевой скрипт и не загружая расширения.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Что такое middleware в контексте Laravel?
Middleware в Laravel - это фильтры, которые перехватывают НТТР-запросы и ответы, добавляя кросс-сквозную логику. Они используются для задач, таких как проверка аутентификации, логирование, управление CORS или ограничение доступа. Middleware обрабатывает запрос до или после его передачи в контроллер, обеспечивая модульность и чистоту основной логики приложения.
👉 Новости 👉 База вопросов
Middleware в Laravel - это фильтры, которые перехватывают НТТР-запросы и ответы, добавляя кросс-сквозную логику. Они используются для задач, таких как проверка аутентификации, логирование, управление CORS или ограничение доступа. Middleware обрабатывает запрос до или после его передачи в контроллер, обеспечивая модульность и чистоту основной логики приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 Будущее PHP: Свежий взгляд на то, что принесет PHP 9.0
PHP выходит на новый уровень строгости и чистоты кода. Вот самые важные изменения:
🟠 Инкременты и декремент
Теперь `'a9'++ вызовет TypeError вместо странного поведения.
🟠 Ошибки при
Любая проблема при десериализации выбросит
🟠 Запрет на
Больше нельзя делать
🟠 Упрощение интерполяции строк
Старый синтаксис
🟠 Предупреждения = Фатальные ошибки
Обращение к несуществующей переменной сразу остановит выполнение скрипта.
🟠 Удаление устаревших функций
Если видите депрекейшн-ворнинги — обязательно исправляйте.
Что можно делать уже сейчас:
Уберите все предупреждения из кода.
Настройте строгую типизацию и обработку ошибок.
Medium
👉 Новости 👉 База вопросов
PHP выходит на новый уровень строгости и чистоты кода. Вот самые важные изменения:
Теперь `'a9'++ вызовет TypeError вместо странного поведения.
unserialize()
Любая проблема при десериализации выбросит
UnserializationFailedException
.false
как массивБольше нельзя делать
$arr[] = 2;
, если $arr = false;
.Старый синтаксис
${}
будет удалён. Останется только $name
в строках.Обращение к несуществующей переменной сразу остановит выполнение скрипта.
Если видите депрекейшн-ворнинги — обязательно исправляйте.
Что можно делать уже сейчас:
Уберите все предупреждения из кода.
Настройте строгую типизацию и обработку ошибок.
Medium
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🏠 Нашёл годный пакет Laravel
gecche/laravel-multidomain: для использования Laravel-приложения в многодоменной конфигурации
https://github.com/gecche/laravel-multidomain
Этот пакет предоставляет очень простой способ получить отдельный
👉 Новости 👉 База вопросов
gecche/laravel-multidomain: для использования Laravel-приложения в многодоменной конфигурации
https://github.com/gecche/laravel-multidomain
Этот пакет предоставляет очень простой способ получить отдельный
.env
-файл, отдельный путь к хранилищу и отдельную базу данных для каждого такого клиента.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🫡 Разработчики, возьмите на заметку: чему нас могут научить хакеры при ревью PHP-кода
Вот на что часто обращают внимание хакеры при ревью PHP-кода —
Этот простой паттерн помогает находить уязвимости типа SQL-инъекция буквально за минуты. Такие конструкции часто встречаются в небезопасных реализациях, особенно без параметризации запросов
Попробуйте сами: поищите это выражение в open-source проектах на GitHub — многие уязвимости видны сразу
Безопасный код — это ваш лучший контрприём
👉 Новости 👉 База вопросов
Вот на что часто обращают внимание хакеры при ревью PHP-кода —
$this->db->query
Этот простой паттерн помогает находить уязвимости типа SQL-инъекция буквально за минуты. Такие конструкции часто встречаются в небезопасных реализациях, особенно без параметризации запросов
Попробуйте сами: поищите это выражение в open-source проектах на GitHub — многие уязвимости видны сразу
Безопасный код — это ваш лучший контрприём
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Какова архитектура Laravel?
Laravel построен на архитектуре MVC, где Model отвечает за данные и бизнес- логику, View за отображение интерфейса, а Controller за обработку запросов. Laravel дополняет эту структуру инструментами, такими как маршрутизация, ORM Eloquent, Blade-шаблоны и Artisan для автоматизации задач. Такая архитектура обеспечивает модульность, масштабируемость и удобство разработки.
👉 Новости 👉 База вопросов
Laravel построен на архитектуре MVC, где Model отвечает за данные и бизнес- логику, View за отображение интерфейса, а Controller за обработку запросов. Laravel дополняет эту структуру инструментами, такими как маршрутизация, ORM Eloquent, Blade-шаблоны и Artisan для автоматизации задач. Такая архитектура обеспечивает модульность, масштабируемость и удобство разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Совет по PHP
Функция
Документация
👉 Новости 👉 База вопросов
Функция
parse_url()
вернёт части URL, например, имя домена, если указать PHP_URL_HOST
.Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Метод «json»
Если вы используете Laravel 10 и выше, есть элегантный способ чтения JSON-файлов с помощью
👉 Новости 👉 База вопросов
Если вы используете Laravel 10 и выше, есть элегантный способ чтения JSON-файлов с помощью
File::json()
. Вы также можете передать флаги, которые вы обычно передаете в json_decode()
, на случай, если вы хотите выбросить исключение Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Перечислите доступные типы отношений в Laravel Eloquent.
Типы отношений в Laravel Eloquent включают:
One to One - один к одному.
One to Many - один ко многим.
Many to Many - многие ко многим.
Has One Through - один через.
Has Many Through - много через.
One to One (Polymorphic) - один к одному (полиморфный).
One to Many (Polymorphic) - один ко многим (полиморфный).
Many to Many (Polymorphic) - многие ко многим (полиморфный).
👉 Новости 👉 База вопросов
Типы отношений в Laravel Eloquent включают:
One to One - один к одному.
One to Many - один ко многим.
Many to Many - многие ко многим.
Has One Through - один через.
Has Many Through - много через.
One to One (Polymorphic) - один к одному (полиморфный).
One to Many (Polymorphic) - один ко многим (полиморфный).
Many to Many (Polymorphic) - многие ко многим (полиморфный).
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Туториал: использование Go из PHP через FFI
На Хабре вышел классный гайд о том, как через FFI легко подключить функции на Go прямо в PHP. Минимум магии, максимум пользы: прирост производительности, меньше тормозов на тяжёлых задачах и новый уровень возможностей для ваших проектов
В статье:
🟠 Пояснение концепции работы через FFI;
🟠 Разбор примера проекта на GitHub;
🟠 Легкий запуск через Docker Compose.
Если вы ищете способ сделать ваш PHP-код быстрее и хотите попробовать Go без переписывания всего проекта — обязательно к прочтению!
Хабр
👉 Новости 👉 База вопросов
На Хабре вышел классный гайд о том, как через FFI легко подключить функции на Go прямо в PHP. Минимум магии, максимум пользы: прирост производительности, меньше тормозов на тяжёлых задачах и новый уровень возможностей для ваших проектов
В статье:
Если вы ищете способ сделать ваш PHP-код быстрее и хотите попробовать Go без переписывания всего проекта — обязательно к прочтению!
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
📞 Парсер JSON
Парсер с нулевыми зависимостями для чтения больших JSON из любого источника с эффективным использованием памяти.
Гитхаб
👉 Новости 👉 База вопросов
Парсер с нулевыми зависимостями для чтения больших JSON из любого источника с эффективным использованием памяти.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Laravel
🤔 Что такое защита от CSRF и CSRF токен?
CSRF (Cross-Site Request Forgery) - это атака, при которой вредоносный сайт может отправить запросы от имени авторизованного пользователя. Laravel защищает от таких атак, автоматически генерируя CSRF токен для каждой активной сессии. Этот токен необходимо включать в формы и AJAX запросы, чтобы подтвердить, что запросы приходят от авторизованных пользователей. B Laravel можно использовать директиву @csrf для добавления токена в Формы.
👉 Новости 👉 База вопросов
CSRF (Cross-Site Request Forgery) - это атака, при которой вредоносный сайт может отправить запросы от имени авторизованного пользователя. Laravel защищает от таких атак, автоматически генерируя CSRF токен для каждой активной сессии. Этот токен необходимо включать в формы и AJAX запросы, чтобы подтвердить, что запросы приходят от авторизованных пользователей. B Laravel можно использовать директиву @csrf для добавления токена в Формы.
Please open Telegram to view this post
VIEW IN TELEGRAM