Telegram Web Link
Недавний релиз Laravel 11.4 ввел фасад Exceptions, упрощающий проверку исключений в обработчике исключений. Теперь вместо withoutExceptionHandling() можно использовать Exceptions::fake(). Это избавляет от необходимости ручного захвата исключений при проверке.
👍2🤮2
👩‍💻Функция Str::mask в Laravel может использоваться для замены конфиденциальной информации, например номера кредитной карты, на символы-заменители. Это позволяет сохранять безопасность конфиденциальных данных клиентов.

🔸Эта полезная функция заменяет после 4 символов и оставляет последние 4 символа в строке на символы «*». Таким образом, конфиденциальная информация остается скрытой, но при этом сохраняется достаточно информации, чтобы использовать ее для нужных действий, например для проверки транзакций.

@phpshka
👍61
Как реализовать паттерн проектирования «Адаптер» на PHP, и какие распространенные случаи его использования?

В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе.

В нашем примере:

Adaptee — класс с несовместимым интерфейсом.
Target — интерфейс, ожидаемый клиентом.
Adapter — класс, который адаптирует Adaptee к интерфейсу Target.

Распространенные случаи использования паттерна Адаптер включают:

🟢Интеграция с легаси-кодом: Когда у вас есть старый код с другим интерфейсом, который нужно использовать в новой системе.
🟢Использование сторонних библиотек: Когда вы хотите использовать стороннюю библиотеку, которая не соответствует требуемому интерфейсу.
🟢Мокирование объектов при тестировании: Когда нужно создать мок-объекты, которые реализуют определенный интерфейс для целей тестирования.
🟢Масштабируемость системы: Когда нужно переключаться между различными реализациями функциональности без изменения кода клиента.

#вопросы_с_собеседований
🔥6
Как отладить любую команду Symfony, просто передав '-x'

Подход позволяет запускать любую Symfony команду в режиме отладки, даже если она не принадлежит вашему приложению, например, команды Doctrine или стандартные команды Symfony.

Это более быстрый и удобный способ отладки команд через добавление флага -x или --xdebug при вызове команды. После обнаружения этого флага слушатель событий перезапускает команду с необходимыми переменными среды для работы xDebug, используя функцию passthru().

Структура слушателя событий детально объяснена далее. Он реализует интерфейс ConsoleEvents::COMMAND и прослушивает событие configure для всех команд. Если обнаруживается флаг -x, команда перезапускается с установленными переменными среды для xDebug.

Код слушателя включает проверки типов и корректное перезапускание команды, а также учитывает ситуации, когда команда вызывается через HelpCommand.

Такой подход делает отладку Symfony команд более удобной и быстрой, особенно при работе в командной строке.
👍3
Совет по Laravel 💡

Данные загружаются быстрее, если целевое значение является целым числом.

Используйте 𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴𝗲𝗿𝗜𝗻𝗥𝗮𝘄() вместо метода 𝘄𝗵𝗲𝗿𝗲𝗜𝗻(), чтобы быстрее загружать данные, когда целевое значение является целым числом.

@phpshka
👍61
Как реализовать паттерн проектирования «Адаптер» на PHP, и какие распространенные случаи его использования?

В PHP вы можете реализовать паттерн «Адаптер», чтобы обеспечить работу несовместимых интерфейсов вместе.

В нашем примере:

Adaptee — класс с несовместимым интерфейсом.
Target — интерфейс, ожидаемый клиентом.
Adapter — класс, который адаптирует Adaptee к интерфейсу Target.

Распространенные случаи использования паттерна Адаптер включают:

🟢Интеграция с легаси-кодом: Когда у вас есть старый код с другим интерфейсом, который нужно использовать в новой системе.
🟢Использование сторонних библиотек: Когда вы хотите использовать стороннюю библиотеку, которая не соответствует требуемому интерфейсу.
🟢Мокирование объектов при тестировании: Когда нужно создать мок-объекты, которые реализуют определенный интерфейс для целей тестирования.
🟢Масштабируемость системы: Когда нужно переключаться между различными реализациями функциональности без изменения кода клиента.

#вопросы_с_собеседований
👏6👍2
4 сайта с бесплатными шаблонами для Laravel

HTMLrev: Огромная коллекция бесплатных HTML-шаблонов, в том числе множество для панелей управления Laravel. Часто обновляются и позволяют легко просматривать по категориям.

Creative Tim: Известный своими готовыми к использованию шаблонами, Creative Tim предоставляет UI-киты, административные панели и системы дизайна для нескольких архитектур, включая Laravel. Их шаблоны поставляются с высококачественным кодом и документацией.

ThemeSelection: Предлагает как бесплатные, так и платные UI-киты и шаблоны панелей управления. Хотя доступно всего несколько бесплатных вариантов, они отличаются замечательным качеством и сравнимы с премиальными пакетами.

JustBoil: JustBoil специализируется на шаблонах панелей управления для различных библиотек, включая Bulma и Tailwind. Их бесплатные шаблоны профессионально разработаны, написаны и документированы, предлагая множество компонентов для создания панелей управления.
👍72🙏1💔1
Media is too big
VIEW IN TELEGRAM
Pest-плагин для стресс-тестирования

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

https://pestphp.com/docs/stress-testing
👍52🔥2
Forwarded from Kali Linux
💻 CVE-2024-4577 — сайты на PHP в эпицентре опасности

Эксплойт доступен каждому, поэтому для защиты нужно срочно обновить PHP до последней версии.

Исследователи безопасности из тайваньской компании DEVCORE обнаружили серьёзную уязвимость, затрагивающую установки PHP на Windows в режиме CGI. Получившая идентификатор CVE-2024-4577 (рейтинг CVSS пока не определён), проблема позволяет злоумышленникам производить подстановку аргументов командной строки, что способно привести к удалённому выполнению кода (RCE).

Как сообщают специалисты DEVCORE, проблема «растёт» из другой уязвимости — CVE-2012-1823, так как свежевыявленный баг позволяет обойти внедрённую от неё защиту с помощью определённых последовательностей символов.

CVE-2024-4577 затрагивает все версии PHP, установленные в операционной системе Windows, а именно:
— с версии PHP 8.3 по 8.3.8;
— с версии PHP 8.2 по 8.2.20;
— с версии PHP 8.1 по 8.1.29.

Из-за повсеместного использования PHP в веб-экосистеме, а также простоты использования уязвимости, специалисты классифицировали её как критическую и незамедлительно сообщили о ней официальной команде PHP. Отчёт об уязвимости был опубликован уже после выхода исправленной версии PHP, доступного для скачивания на официальном сайте.

🗄 Подробнее

@linuxkalii
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74😱2🔥1🤡1
ComposerRequireChecker

Инструмент CLI для проверки того, использует ли конкретный пакет composer импортированные символы, которые не входят в его прямые зависимости от composer.
👍43🔥3
⚡️ Совет по Laravel

Данные загружаются быстрее, если целевое значение является целым числом.

Используйте 𝘄𝗵𝗲𝗿𝗲𝗜𝗻𝘁𝗲𝗴𝗲𝗿𝗜𝗻𝗥𝗮𝘄() вместо метода 𝘄𝗵𝗲𝗿𝗲𝗜𝗻(), чтобы быстрее загружать данные, когда целевое значение является целым числом.

@phpshka
14🤔6👍5🔥1
Совет по Laravel 💡

Переменная $loop также содержит множество других полезных свойств:



@phpshka
8👍3🥰1
2025/10/01 07:16:02
Back to Top
HTML Embed Code: