Pull to refresh
20
1

Backend Developer (PHP)

Send message

CRUD на PHP с использованием файберов и пула соединений с PostgreSQL

Level of difficultyMedium
Reading time12 min
Views3K

В этой статье я подготовил для вас прототип CRUD-приложения, которое использует файберы и неблокирующие(асинхронные) возможности драйвера PostreSQL. Вместе они дают любопытные результаты по производительности и потреблению памяти.

Читать далее

Пример HTTP-сервера на PHP с использованием файберов. Улучшенная версия

Level of difficultyHard
Reading time9 min
Views3.8K

В статье Пример HTTP-сервера на PHP с использованием файберов / Хабр краеугольным камнем организации обработки HTTP-соединений является функция socket_select(), которая имеет значительное ограничение - максимальное значение дескриптора, которое можно добавить в любой из трёх аргументов данной функции составляет 1024. Данный лимит определяется константой FD_SETSIZE, для увеличения которой придётся сконфигурировать системные лимиты и как минимум пересобрать интерпретатор PHP, что нецелесообразно и может создать эксплуатационные проблемы. К тому же, производительность функции select(), обёрткой над которой является функция socket_select(), значительно проседает при ощутимом увеличении значения константы FD_SETSIZE. В данной статье я постараюсь продемонстрировать альтернативу, позволяющую избавить пример из предыдущей статьи от данного ограничения.

Читать далее

Пример HTTP-сервера на PHP с использованием файберов

Level of difficultyHard
Reading time15 min
Views9.4K

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

Читать далее

Information

Rating
1,617-th
Registered
Activity

Specialization

Backend Developer
Lead
From 300,000 ₽
PHP
OOP
SQL
Linux
Docker
MySQL
Redis
GraphQL
REST