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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
#вопросы_с_собеседований

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Такой подход позволяет уменьшить время ожидания ответа от сервера и улучшить производительность приложения.
5👍3
Новое в Symfony 6.3: Улучшения внедрения зависимостей

В версии Symfony 6.3 также был улучшен механизм Dependency Injection (DI). DI - это концепция программирования, которая позволяет разделить создание объектов от их использования, улучшая переиспользуемость кода, удобство тестирования и облегчая поддержку кода.

В новой версии Symfony DI-контейнер, который является ключевым элементом механизма DI, получил несколько новых функций, основанных на обратной связи от сообщества Symfony.
9👍4🍌2🔥1
Новости Yii 2023, выпуск 2

Небольшая статья от разработчика кора Yii. Поскольку сам он из Воронежа, то пишет на русском языке и несколько раз в год публикует свои новостные блоги с внутренней кухни разработки этого фреймворка.
👍114🍌2🌚1
#ищу_команду

Ищите единомышленников, делайте коллабы, создавайте новые проекты. В комментариях под постом укажите #язык, #библиотеку и/или #стек, который вас интересует и опишите общую концепцию проекта.
2
Попрощайтесь с проверками на null и исключениями: использование монады Maybe в Symfony

Монада maybe - это концепция программирования, которая позволяет обрабатывать значения, которые могут отсутствовать. Это может быть полезно, когда необходимо выполнить операции, не обладая достаточным количеством данных или когда значение может быть пустым или неопределенным.

Сегодня мы узнаем как реализовать ее на Symfony
🤯6👍3🌭3🍌31
Что такое PSR? Какова их цель?

PSR (PHP Standards Recommendations) — это набор рекомендаций по программированию на языке PHP. Основное назначение — предоставить проверенные общие концепции, чтобы сделать разработку простой и удобной, повысить надежность и работоспособность продуктов.

Стандарты PSR поделены на части. Каждый содержит информацию о том, как нужно выполнять задачи. Например, ставить переносы строк, называть переменные, реализовывать автозагрузку. За каждую часть отвечает свой стандарт. Каждый начинается с аббревиатуры PSR, после которой идет номер. Например, PSR-1 или PSR-4.

Подробнее про каждый можно почитать здесь.

#вопросы_с_собеседований
🍌9👍54🐳2
Тут рассказано о методах повышения производительности приложения Doctor в Symfony. Doctor — это инструмент, который используется для обнаружения и предупреждения о потенциальных проблемах в конфигурации и коде приложений Symfony.
2🍌2
Работа с процессами ОС в PHP

Здесь показано, как работать с процессами ОС в PHP. Описываются несколько способов создания, запуска и управления процессами ОС, используя встроенные функции PHP и сторонние библиотеки.

Затем описано, как можно создавать новые процессы ОС в PHP, используя интерфейс Process из Symfony Process Component. Этот компонент позволяет запускать процессы в фоновом режиме, получать и обрабатывать данные вывода процесса, а также управлять его завершением и статусом.
👍41
Какие сервера вы используете? PHP-FPM, Roadrunner, Swoole?⬇️
👍1
Устранение уязвимостей PHP с помощью WebAssembly

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

Здесь показано как реализовать некоторые аспекты PHP с использованием WebAssembly, предоставляя новую защищенную среду выполнения кода.
2🌚1
Опубликованная на блоге Symfony статья «Новое в Symfony 6.3: Улучшения DX» разбита на три части. Каждая часть описывает набор улучшений в Symfony 6.3 с точки зрения удобства разработки (Developer Experience - DX).

Часть 1 охватывает обновления, которые делают работу с Symfony еще более интуитивной и легкой для новых разработчиков. В этой части авторы раскрывают, какие усовершенствования Symfony 6.3 помогут улучшить пользовательский опыт разработчиков.

Часть 2 посвящена техническим обновлениям в плагинах и модулях Symfony. В этой части авторы поясняют, какие изменения были внесены в ряд компонентов, таких как YAML, Service Container и JSON API.

Часть 3 описывает методы разработки, которые улучшат тестирование и отладку, а также более точно опишут, как использовать Symfony для оптимального развития приложений.
❤‍🔥8🍌31