Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.7K subscribers
1.2K photos
15 videos
26 files
3.87K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Интеграция с ЕСИА v2 на Debian 11 + php 7

Хоть и задача с авторизацией на сайт через Госулуги уже давно не новая, есть некоторые нюансы, которые отмечает автор и приводит способы их решения:

✔️С января 2020 для интеграции требуется использовать только ГОСТ-шифрование.

✔️С версии 2.90 Методических рекомендаций используемый endpoint /aas/oauth2/ac объявлен устаревшим и не рекомендован к использованию. Предложено переходить на /aas/oauth2/v2/ac, а реализации в указанных библиотеках нет
Не делайте так: отсутствующие поля трейтов

Статья говорит об ошибке, которую могут допустить разработчики при использовании трейтов. Конкретно рассматривается случай, когда трейт определяет свойство, которое не существует в классе, который использует этот трейт.

Предлагается несколько способов избежать этой ошибки:

1️⃣использовать конструктор класса
2️⃣создавать отдельный метод в трейте для установки значения свойства
Как создать приватные репозитории composer

Создание приватных репозиториев Composer позволяет эффективно управлять зависимостями и облегчает распространение собственных пакетов в вашем проекте. С помощью инструментов, таких как Satis и аутентификация, вы можете создать приватные репозитории и легко интегрировать их в свои проекты. Как это сделать можете прочитать в этой статье
Контроллеры и их настоящее предназначение

Сегодня мы узнаем о том, как и зачем использовать контроллеры в веб-разработке.

Различные способы использования контроллеров и их влияние на структуру и производительность веб-приложений
Паттерны использования контроллеров, включая RESTful API и MVC
Поймем, как выбрать правильный подход для вашего проекта
Новое в Symfony 6.3: Улучшения WebProfiler

WebProfiler - это инструмент для отладки Symfony-приложений, который помогает разработчикам искать ошибки и улучшать производительность. Теперь в Symfony 6.3 были внесены улучшения, которые сделали WebProfiler еще более эффективным.

https://symfony.com/blog/new-in-symfony-6-3-webprofiler-improvements
Статья рассказывает о том, как использовать middleware в Laravel для логирования отправленных пользователем форм. В частности, автор предлагает создать свой middleware для регистрации входящих запросов и отправки логов в стороннее хранилище или по электронной почте. По мнению автора, такая система позволяет сделать важную часть процесса разработки более профессиональной и отвечающей требованиям безопасности.
This media is not supported in your browser
VIEW IN TELEGRAM
🤩🗺 Готовы увидеть сотни тысяч популярных проектов GitHub? Отправляйтесь в путешествие по карте, где каждая точка — это проект GitHub. На текущий момент на карте их более 400 000.

Две точки в одном кластере обычно расположены близко друг к другу, если несколько пользователей часто ставили звезды обоим проектам. Размер точки указывает на количество звезд, которые получил проект.
#хочу_спросить

Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Новое в Symfony 6.3: Улучшения входа и выхода

Статья описывает новые улучшения, которые были внесены в процессы аутентификации и выхода из системы в Symfony 6.3. В частности, эти улучшения включают в себя новые методы API для настройки аутентификации и выхода из системы. Также представлены такие изменения:

1️⃣Опция «Запомнить меня» для входа в систему через JSON
2️⃣Очистка данных сайта после выхода

полностью можно прочитать здесь
#вопросы_с_собеседований

Что такое объектно-ориентированное программирование (ООП) в PHP?

ООП - это парадигма программирования, в которой программа строится на основе объектов, которые являются экземплярами классов. В PHP объекты и классы создаются с помощью ключевых слов «class», "object", «public», «protected» и «private».
Промежуточное ПО безопасности Laravel

Статья на сайте Laravel News рассказывает о безопасности веб-приложений, построенных на фреймворке Laravel, и о том, как использовать middleware, чтобы обеспечить дополнительный уровень безопасности. В статье также описываются основные уязвимости, с которыми может столкнуться Laravel приложение и способы защиты от них. Авторы рекомендуют использовать специальные middleware, чтобы обезопасить приложение от угроз. Также в статье представлены примеры кода и объяснения, как работает каждый пример.
Мутационные тесты: зачем и как

Как оценивать качество тестов? Многие полагаются на самый популярный показатель, известный всем, — code coverage. Но это количественная, а не качественная метрика. Она показывает, какой объём вашего кода покрыт тестами, но не то, как хорошо эти тесты написаны.

Один из способов разобраться в этом — мутационное тестирование. Этот инструмент, внося небольшие правки в исходный код и заново прогоняя после этого тесты, позволяет выявить бесполезные тесты и низкокачественное покрытие. Сегодняшняя статья на Хабре поможет в этом разобраться
Вопрос к сеньорам, в какой момент вы узнали, что достигли этого уровня? Как это произошло?⬇️⬇️⬇️
Библиотека Vector Clock и Lamport timestamp

Этот проект представляет собой реализацию концепции векторных часов и метки времени Лампорта на PHP

Эта библиотека включает:

Временная метка Лэмпорта
Асинхронные векторные часы
Синхронные векторные часы
Анализ и приоритизация задач в тикетной системе: как красиво реализовать на PHP

Почему это важно? Анализ и приоритизация задач позволяют выявить проблемы, необходимые доработки и оптимизацию процессов. После анализа можно определить, что нужно изменить, чтобы обеспечить более эффективную работу.

Статья покажет как реализовать это на PHP
Создание вне инструментов: что не так с современной разработкой на основе фреймворков?

Статья обсуждает некоторые проблемы, связанные с современной разработкой на основе фреймворков. В статье рассматривается несколько аспектов, которые, по мнению автора, могут иметь негативное влияние на процесс разработки и результаты проектов.
Статья с названием «Использование DTO для сохранения контекста» рассматривает применение объектов передачи данных (DTO) для сохранения контекста в разработке на фреймворке Laravel. Она объясняет, как использование DTO может помочь в организации данных и передаче их между различными слоями приложения.

Ниже представлен краткий обзор основных идей, вынесенных в статье:

1️⃣Введение в DTO: Статья начинается с объяснения понятия объектов передачи данных (DTO) и их роли в приложениях. DTO представляют собой структуры данных, которые используются для передачи информации между различными компонентами приложения, такими как контроллеры, сервисы и представления.

2️⃣Разделение слоев приложения: Автор подчеркивает важность разделения слоев приложения и предлагает использовать DTO в качестве промежуточного слоя для передачи данных между этими слоями. DTO помогают сохранить контекст данных и обеспечивают явное определение, какие данные должны быть переданы и какие именно поля должны быть доступны.

3️⃣Согласованность данных: Использование DTO способствует согласованности данных в приложении. Поскольку DTO явно определяют структуру данных и поля, это помогает избежать ошибок в передаче данных и обеспечивает однородность во всем приложении.
Потоковая передача ответов OpenAI в Laravel с помощью событий, отправленных сервером (SSE)

Статья о том, как использовать OpenAI API в Laravel-приложении с помощью стриминга ответа сервера.

Тут описано, как выполнить запрос к OpenAI API и получить ответ в формате JSON, который затем обрабатывается в стрим-контролере и отправляется клиенту по мере готовности.

Также представлен пример кода, который можно использовать для создания своего Laravel-приложения с использованием OpenAI API и стриминга ответа.

Такой подход позволяет уменьшить время ожидания ответа от сервера и улучшить производительность приложения.