Hyperf — это высокопроизводительный и очень гибкий фреймворк сопрограмм PHP, основанный на Swoole4.4+. Он имеет встроенный сервер сопрограмм и большое количество часто используемых компонентов. Его производительность качественно улучшена по сравнению с традиционным фреймворком на основе PHP. FPM обеспечивает сверхвысокую производительность. В то же время он поддерживает чрезвычайно гибкую масштабируемость. Стандартные компоненты реализованы на основе стандарта PSR и основаны на мощной конструкции внедрения зависимостей, которая гарантирует возможность замены и повторного использования большинства компонентов или классов.
В дополнение к общей версии сопрограммы клиента MySQL и клиента Redis, библиотека компонентов платформы также готовит для вас сопрограммную версию EloquentORM, сервера и клиента WebSocket, сервера и клиента JSONRPC, сервера и клиента GRPC, клиента OpenTracing (Zipkin, Jaeger). , клиент GuzzleHTTP, клиент Elasticsearch, клиент Consul, клиент ETCD, компонент AMQP, компонент Nats, Apollo, ETCD, Zookeeper и центр конфигурации Alibaba Cloud ACM, на основе алгоритма корзины токенов. Ограничитель тока, универсальный пул соединений, автоматический выключатель, генерация документов Swagger. , SwooleTracker, Blade, Smarty, Twig, Plates и механизм просмотра ThinkTemplate, генератор глобальных идентификаторов Snowflake, мониторинг Prometheus и другие компоненты, устраняющие необходимость самостоятельной реализации соответствующей версии сопрограммы.
Hyperf также предоставляет контейнеры внедрения зависимостей на основе PSR-11, аннотации, аспектно-ориентированное программирование AOP, промежуточное программное обеспечение на основе PSR-15, пользовательские процессы, менеджеры событий на основе PSR-14, очереди сообщений Redis/RabbitMQ и автоматическое кэширование моделей, PSR. Кэширование на основе -16, запланированные задачи второго уровня Crontab, сеанс, интернационализация i18n, проверка формы проверки и другие очень удобные функции для удовлетворения различных технических сценариев и бизнес-сценариев, которые можно использовать «из коробки».
Возможности HyperfПервоначальный замысел фреймворка Хотя фреймворк, разработанный на основе языка PHP, сейчас переживает эпоху расцвета, мы до сих пор не видели идеального фреймворка, который бы сочетался с элегантным дизайном и сверхвысокой производительностью, а также фреймворка, который действительно прокладывает путь путь к микросервисам PHP — это первоначальная цель Hyperf и членов ее команды. Мы продолжим инвестировать и усердно работать для этого, и вы можете присоединиться к нам и принять участие в создании открытого исходного кода.
концепция дизайна
Гиперскорость+гибкость=Hyperf, из названия мы понимаем сверхвысокую скорость и гибкость как гены Hyperf.
Для сверхвысокой скорости мы используем сопрограмму Swoole и выполняем множество оптимизаций конструкции платформы, чтобы обеспечить сверхвысокую производительность.
Для обеспечения гибкости мы используем мощные компоненты внедрения зависимостей Hyperf. Все компоненты реализованы на основе стандартного контракта PSR и контракта, определенного Hyperf, поэтому большинство компонентов или классов в платформе можно заменить.
Основываясь на вышеперечисленных характеристиках, Hyperf будет иметь богатые возможности, такие как реализация отдельных веб-сервисов, служб API, служб шлюзов, распределенного промежуточного программного обеспечения, микросервисной архитектуры, игровых серверов, Интернета вещей (IOT) и т. д.
Полная документация Мы потратили много времени на создание документации, чтобы обеспечить высококачественную документацию для решения различных проблем, вызванных отсутствием документации. Документация также содержит большое количество примеров, что одинаково удобно для новичков.
Официальная документация разработки Hyperf
Доступно производство. Мы провели большое количество модульных тестов для компонентов, чтобы убедиться в правильности логики. В настоящее время существует 1342 отдельных теста с 3961 условием утверждения. Hyperf — это проект, который прошел суровые испытания в производственной среде. В настоящее время многие крупные интернет-компании развернули Hyperf в своих производственных средах и стабильно используют его.