TG Telegram Group Link
Channel: Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
Back to Bottom
Архитектурное тестирование в Laravel с помощью Pest

Статья посвящена архитектурному тестированию в Laravel с использованием тестового фреймворка Pest. В статье рассматриваются следующие ключевые моменты:

Введение в архитектурное тестирование: Объясняется, что такое архитектурное тестирование и почему оно важно. Это помогает убедиться, что структура приложения соответствует заданным архитектурным принципам и правилам.

Знакомство с Pest: Pest представляет собой современный и упрощенный тестовый фреймворк для PHP, который фокусируется на простоте и удобстве использования. В статье дается краткое введение в Pest и его особенности.

Настройка Pest для Laravel: Пошаговое руководство по установке и настройке Pest в Laravel-проекте. Включает команды для установки и основные конфигурации, необходимые для начала работы.

Примеры архитектурных тестов: Приводятся конкретные примеры того, как писать архитектурные тесты с использованием Pest. Описываются тесты, которые проверяют структуру каталогов, зависимости между модулями и соблюдение архитектурных правил.

Практические советы и рекомендации: Предоставляются полезные советы по написанию и поддержке архитектурных тестов, а также рекомендации по улучшению качества кода и архитектуры проекта.
⚛️ 6 самых важных шаблонов проектирования в React

Правильное использование паттернов проектирования — ключ к созданию надежных, эффективных и масштабируемых React-приложений. Рассказываем о шаблонах, которые стоит освоить в первую очередь.

👉 Читать статью
👉 Зеркало
Работа с новой архитектурой в Laravel 11

Основная «киллер-фича» фреймворка Laravel версии 11 — «плоский код». Под капот убрано всё, что большинством разработчиков не используется и, по сути, является «мусором». А также убраны некоторые действительно полезные вещи.

Здесь показано что куда делось и как улучшить взаимодействие с новой архитектурой.
LaraPackages.com

Удобный каталог полезных инструментов Laravel.
Каковы основные компоненты Symfony и как они взаимодействуют друг с другом?

Symfony состоит из нескольких ключевых компонентов, которые взаимодействуют между собой, создавая надежный PHP-фреймворк. Компонент HttpFoundation заменяет глобальные переменные PHP объектно-ориентированным слоем, что позволяет проще работать с HTTP-запросами и ответами. Routing управляет генерацией и подбором URL, а EventDispatcher позволяет разделить код с помощью слушателей событий. DependencyInjection обеспечивает функциональность контейнера сервисов, способствуя многократному использованию и тестированию кода.

HttpKernel выступает в качестве ядра, используя другие компоненты для обработки запросов и генерации ответов. Он использует EventDispatcher для отправки нескольких событий во время обработки запроса, что позволяет внедрять пользовательское поведение в различных точках. Например, он отправляет событие 'kernel.request', которое может быть использовано Routing для сопоставления запроса с маршрутом и определения контроллера.

Компонент Twig — это шаблонизатор Symfony, взаимодействующий с HttpKernel для рендеринга представлений. Doctrine ORM взаимодействует с базой данных, обеспечивая персистентность данных.

Security обеспечивает аутентификацию и авторизацию, тесно взаимодействуя с HttpKernel и EventDispatcher. Translation помогает в интернационализации, а Validator обеспечивает соблюдение правил проверки объектов.

#вопросы_с_собеседований
Гайд по валидации в Laravel

Статья посвящена теме валидации данных в Laravel. Она объясняет, как использовать встроенные возможности Laravel для проверки данных, поступающих от пользователей, чтобы обеспечить их корректность и соответствие определённым правилам.

Основные моменты:

✔️Основы валидации в Laravel: Описаны основные принципы и подходы к валидации данных в Laravel, включая использование встроенных методов и правил.

✔️Создание правил валидации: Рассматривается, как создавать и применять правила валидации в контроллерах и формах.

✔️Сообщения об ошибках: Обсуждается, как настраивать сообщения об ошибках валидации, чтобы сделать их более понятными для пользователей.

✔️Кастомные правила валидации: Описывается процесс создания кастомных правил валидации для специфических требований приложения.

✔️Примеры использования: Приводятся примеры кода и сценарии, демонстрирующие различные аспекты валидации данных в Laravel.
Функция Str::slug в Laravel предназначена для создания «слагов» из строк. «Слаг» — это URL-подобная строка, которая используется для идентификации статьи или страницы на сайте. Слаг обычно состоит из слова или фразы, разделенной дефисами.

Итак, функция Str::slug превращает строку в «слаг», используя заданные параметры. Например, для строки «Это пример строки для Slug» функция вернет «ce-priklad-ryadka-dlya-slug». Вот несколько примеров использования функции Str::slug в Laravel:

В первом примере функция Str::slug берет строку $title и превращает ее в «слаг» с дефисами как разделителями. Во втором примере разделитель изменен на подчеркивание.
Как делиться своими TwigComponent с командой

Здесь рассматриваются шаги и лучшие практики по созданию, документированию и распространению ваших Twig-компонентов, чтобы сделать их доступными для всей команды разработчиков.
#дайджест #phpdevjob

Вакансии PHP разработчиков уровня Junior

▪️PHP-developer
Удаленка. Офис в Москве. UREMONT — агрегатор страхования
Подробнее

▪️PHP-программист
Москва. Флекскор — система управления сайтами
Подробнее

Вакансии PHP разработчиков уровня Middle

▪️PHP-разработчик
Москва. Д-проджект — создание и продвижение веб-проектов
Подробнее

▪️Fullstack разработчик
Томск. BlaBlaCar — международный онлайн-сервис поиска автомобильных попутчиков
Подробнее

Вакансии PHP разработчиков уровня Senior

▪️Backend developer
Москва. PUSK — IT, интернет-маркетинг
Подробнее

▪️Backend-разработчик
Удаленка. Офис в Нижнем Новгороде. АДЕПТ — разработчик ПО для строительной отрасли
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Как использовать новую команду Symfony Maker для работы с GitHub Webhooks

Статья описывает, как использовать новую команду Symfony Maker для работы с веб-хуками GitHub. Веб-хуки — это распространенный способ взаимодействия внешних сервисов с вашим приложением. Они похожи на подписчика событий: удаленный сервис объявляет список шагов в своем жизненном цикле (например, для github: открыта проблема, сделан комментарий к PR и т.д.), и для каждого из этих шагов он отправляет событие с соответствующими данными.

Symfony 6.3 представил компоненты Webhook и RemoteEvent. Компонент Webhook упрощает создание конечной точки и проверку запроса, в то время как RemoteEvent обеспечивает передачу полезной нагрузки события через Messenger и обработку ее RemoteEventConsumer, где будет жить ваша логика.

Чтобы установить эти компоненты, выполните:
$ composer require symfony/webhook

После установки компонента, чтобы создать новый веб-хук, выполните:
$ symfony console make:webhook

Создатель попросит вас указать имя веб-хука, которое будет использоваться для генерации URL веб-хука.
Как масштабировать PHP-приложение, чтобы оно выдерживало высокую нагрузку, и каковы некоторые связанные с этим проблемы?

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

Другая задача — обеспечить эффективную связь между экземплярами приложения и гарантировать, что каждый экземпляр имеет достаточно ресурсов, чтобы справиться с нагрузкой. Для снижения нагрузки на серверы можно также использовать методы кэширования и оптимизации.

#вопросы_с_собеседований
Автоматизируйте резервное копирование баз данных с помощью Laravel

В этом гайде показан пошаговый процесс автоматизации резервного копирования баз данных с помощью Laravel, в частности с использованием пакета spatie/laravel-backup.
Версионирование API в Laravel-приложениях

Версионирование API — важная и зачастую сложная задача, у которой скорее всего нет какого-то универсального решения. Здесь показан один из возможных подходов в приложениях на базе Laravel.
💬 Час для экзистенциальных размышлений: на что вы бы тратили своё время, если бы вам не нужны были деньги?

👇Пишите в комментарии👇

#интерактив
Dolt

Dolt — это база данных SQL, которую можно форкать, клонировать, разветвлять, мерджить, пушить и вытаскивать, как репозиторий Git.

Подключиться к Dolt можно так же, как к любой базе данных MySQL, чтобы читать или изменять схему и данные.

Функциональность контроля версий реализована в SQL с помощью системных таблиц, функций и процедур.

Или используйте Git-подобный интерфейс командной строки для импорта CSV-файлов, фиксации своих изменений, отправки их на удаленное хранилище или слияния изменений коллег. Все команды, которые вы знаете для Git, работают точно так же и в Dolt.
🎓 Продвинутый SQL: секреты профессионалов

Рассказываем о сложных стратегиях оптимизации запросов, продвинутых типах соединений и тонкостях использования SELECT.

Читать статью

#туториал
Проверка структуры JSON-ответа в Laravel

При написании тестов для ответов API в Laravel может быть полезно проверить структуру ответа. Есть метод assertJson(), который можно использовать для проверки значений JSON в заданном тестовом ответе

Для проверки общей структуры всего ответа можно использовать assertJsonStructure(). Однако, если в будущем добавится новый ключ, этот тест продолжит проходить. Если требуется большая точность, возможно, потребуется использовать assertExactJson()

Если вам нужно убедиться, что в ответе присутствуют определенные свойства, assertJsonStructure() может дать вам уверенность, что вся структура содержит ожидаемые свойства. Если же вам нужны более обширные утверждения относительно структуры JSON, вы также можете использовать утверждения whereType() и whereAllType().
HTML Embed Code:
2025/07/08 01:07:45
Back to Top