friendsofhyperf / components
The most popular components for Hyperf.
Requires
- php: >=8.2
- ext-openssl: *
- barryvdh/reflection-docblock: ^2.0
- composer/composer: ^2.0
- ezyang/htmlpurifier: ^4.17.0
- google/protobuf: ^3.21 || ^4.2
- google/recaptcha: ^1.2
- guzzlehttp/uri-template: ^1.0
- krowinski/php-mysql-replication: ^8.0 || ^9.0
- laravel/serializable-closure: ^1.0 || ^2.0
- league/commonmark: ^1.3 || ^2.0.2
- nesbot/carbon: ^2.0 || ^3.0
- nunomaduro/termwind: ^1.13 || ^2.0
- openai-php/client: >=0.10.0
- phpmyadmin/sql-parser: ^5.9
- psr/http-factory-implementation: *
- psy/psysh: ^0.11.0 || ^0.12.0
- ramsey/uuid: ^4.7
- sentry/sentry: ^4.28.0
- symfony/console: ^6.0 || ^7.0
- symfony/http-foundation: ^6.0 || ^7.0
- symfony/polyfill-php84: ^1.33
- symfony/polyfill-php85: ^1.33
- symfony/process: ^6.0 || ^7.0
- symfony/uid: ^6.0 || ^7.0
- symfony/var-dumper: ^6.0 || ^7.0
Requires (Dev)
- aws/aws-sdk-php: ^3.235.5
- elasticsearch/elasticsearch: ^8.0 || ^9.0
- ergebnis/composer-normalize: ^2.43
- hashids/hashids: ^4.1 || ^5.0
- huangdijia/php-coding-standard: ^2.4
- hyperf/amqp: ~3.2.0
- hyperf/async-queue: ~3.2.0
- hyperf/cache: ~3.2.0
- hyperf/code-parser: ~3.2.0
- hyperf/codec: ~3.2.0
- hyperf/collection: ~3.2.0
- hyperf/command: ~3.2.0
- hyperf/conditionable: ~3.2.0
- hyperf/config-center: ~3.2.0
- hyperf/consul: ~3.2.0
- hyperf/context: ~3.2.0
- hyperf/coroutine: ~3.2.0
- hyperf/crontab: ~3.2.0
- hyperf/database: ~3.2.0
- hyperf/db: ~3.2.0
- hyperf/db-connection: ~3.2.0
- hyperf/devtool: ~3.2.0
- hyperf/di: ~3.2.0
- hyperf/engine: ^2.0
- hyperf/etcd: ~3.2.0
- hyperf/filesystem: ~3.2.0
- hyperf/framework: ~3.2.0
- hyperf/grpc-client: ~3.2.0
- hyperf/grpc-server: ~3.2.0
- hyperf/guzzle: ~3.2.0
- hyperf/http-server: ~3.2.0
- hyperf/http2-client: ~3.2.0
- hyperf/ide-helper: ~3.2.0
- hyperf/json-rpc: ~3.2.0
- hyperf/kafka: ~3.2.0
- hyperf/logger: ~3.2.0
- hyperf/macroable: ~3.2.0
- hyperf/nacos: ~3.2.0
- hyperf/paginator: ~3.2.0
- hyperf/pipeline: ~3.2.0
- hyperf/redis: ~3.2.0
- hyperf/rpc: ~3.2.0
- hyperf/rpc-client: ~3.2.0
- hyperf/rpc-multiplex: ~3.2.0
- hyperf/rpc-server: ~3.2.0
- hyperf/scout: ~3.2.0
- hyperf/session: ~3.2.0
- hyperf/stdlib: ~3.2.0
- hyperf/stringable: ~3.2.0
- hyperf/support: ~3.2.0
- hyperf/tappable: ~3.2.0
- hyperf/tracer: ~3.2.0
- hyperf/validation: ~3.2.0
- hyperf/view: ~3.2.0
- hyperf/view-engine: ~3.2.0
- league/oauth2-server: ^9.2
- mockery/mockery: ^1.6
- opis/closure: ^3.6
- overtrue/easy-sms: ^3.0
- pestphp/pest: ^2.0 || ^3.0
- pestphp/pest-plugin-faker: ^2.0 || ^3.0
- pestphp/pest-plugin-type-coverage: ^2.0 || ^3.0
- php-http/guzzle7-adapter: ^1.0
- phpstan/phpstan: ^1.0 || ^2.0
- phpstan/phpstan-deprecation-rules: ^1.1
- swoole/ide-helper: dev-master
- swow/swow: dev-develop
- symfony/http-client: ^6.4 || ^7.0
- symfony/mailgun-mailer: ^6.4 || ^7.0
- symfony/notifier: ^6.4 || ^7.0
- symfony/postmark-mailer: ^6.4 || ^7.0
- tijsverkoyen/css-to-inline-styles: ^2.2.5
- voku/portable-ascii: ^1.4
Replaces
- friendsofhyperf/amqp-job: *
- friendsofhyperf/cache: *
- friendsofhyperf/co-phpunit: *
- friendsofhyperf/command-benchmark: *
- friendsofhyperf/command-signals: *
- friendsofhyperf/command-validation: *
- friendsofhyperf/compoships: *
- friendsofhyperf/confd: *
- friendsofhyperf/config-consul: *
- friendsofhyperf/console-spinner: *
- friendsofhyperf/elasticsearch: *
- friendsofhyperf/encryption: *
- friendsofhyperf/exception-event: *
- friendsofhyperf/facade: *
- friendsofhyperf/fast-paginate: *
- friendsofhyperf/grpc-validation: *
- friendsofhyperf/helpers: *
- friendsofhyperf/http-client: *
- friendsofhyperf/ide-helper: *
- friendsofhyperf/ipc-broadcaster: *
- friendsofhyperf/lock: *
- friendsofhyperf/macros: *
- friendsofhyperf/mail: *
- friendsofhyperf/model-factory: *
- friendsofhyperf/model-hashids: *
- friendsofhyperf/model-morph-addon: *
- friendsofhyperf/model-observer: *
- friendsofhyperf/model-scope: *
- friendsofhyperf/mysql-grammar-addon: *
- friendsofhyperf/notification: *
- friendsofhyperf/notification-easysms: *
- friendsofhyperf/notification-mail: *
- friendsofhyperf/oauth2-server: *
- friendsofhyperf/openai-client: *
- friendsofhyperf/pretty-console: *
- friendsofhyperf/purifier: *
- friendsofhyperf/rate-limit: *
- friendsofhyperf/recaptcha: *
- friendsofhyperf/redis-subscriber: *
- friendsofhyperf/sentry: *
- friendsofhyperf/support: *
- friendsofhyperf/tcp-sender: *
- friendsofhyperf/telescope: *
- friendsofhyperf/telescope-elasticsearch: *
- friendsofhyperf/tinker: *
- friendsofhyperf/trigger: *
- friendsofhyperf/validated-dto: *
- friendsofhyperf/web-tinker: *
This package is auto-updated.
Last update: 2026-06-20 01:09:51 UTC
README
A monorepo of 49 independently installable components for Hyperf 3.2 and later.
Requirements
- PHP 8.2 or later
- Hyperf 3.2 or later
- Swoole or Swow, when required by the application or component
Each component declares its exact dependencies in src/<component>/composer.json.
Installation
Install the complete collection:
composer require friendsofhyperf/components
Or install only the components your application needs:
composer require friendsofhyperf/telescope composer require friendsofhyperf/http-client composer require friendsofhyperf/model-factory --dev
Most framework-integrated packages are discovered through their ConfigProvider. Some
components also publish configuration or resources:
php bin/hyperf.php vendor:publish friendsofhyperf/<component>
Consult the component README and documentation before publishing files; not every component provides publishable resources.
Components
Development and Debugging
- telescope - request, exception, SQL, Redis, and runtime inspection
- tinker - interactive REPL
- web-tinker - browser-based Tinker interface
- ide-helper - IDE metadata generation
- pretty-console - improved console presentation
Database and Models
- model-factory, model-observer, model-scope, model-hashids, and model-morph-addon
- compoships, fast-paginate, mysql-grammar-addon, and trigger
Infrastructure and Integrations
- Cache and coordination: cache, lock, and redis-subscriber
- HTTP and APIs: http-client and oauth2-server
- Messaging: notification, notification-mail, notification-easysms, mail, and tcp-sender
- External services and observability: elasticsearch, telescope-elasticsearch, openai-client, recaptcha, and sentry
- Configuration: confd and config-consul
Framework Extensions
- Commands: command-benchmark, command-signals, command-validation, and console-spinner
- Architecture: facade, ipc-broadcaster, and exception-event
- Security and validation: encryption, purifier, rate-limit, validated-dto, and grpc-validation
- Shared utilities: helpers, support, and macros
- Queue and testing: amqp-job and co-phpunit
Every component directory contains its own package metadata and README. The complete list is
available under src/.
Documentation
The documentation site is available in four languages:
Component documentation is maintained under docs/<locale>/components/. Component READMEs
and documentation pages are separate sources, so behavior changes may require updates to
both.
Repository Layout
src/<component>/ independently installable component packages
tests/<Component>/ shared Pest test suite
docs/<locale>/ VitePress documentation in four languages
types/ PHP stubs checked at PHPStan max level
bin/ repository maintenance, split, and release scripts
The root package aggregates all components. Most components integrate with Hyperf through a
ConfigProvider; a small number are framework-independent libraries.
Development
Install dependencies from the repository root:
composer install
Run the standard local checks:
composer test # code style, Pest tests, and type coverage composer analyse # PHPStan analysis composer analyse:types # PHPStan max-level analysis for types/
Run focused checks while developing a component:
vendor/bin/pest --group cache vendor/bin/pest tests/CoPhpunit composer analyse src/cache composer cs-fix -- src/cache
Pest groups are defined in tests/Pest.php. Not every component has a
group, so use a test directory or file when necessary. composer test does not run PHPStan;
run composer analyse separately before submitting code changes.
For documentation changes:
npm install npm run docs:check
Simplified Chinese is the translation source. Keep the page set and heading structure
synchronized across en, zh-cn, zh-hk, and zh-tw, then review generated translations
before submission. npm run docs:translate modifies translated files and requires translation
service configuration; run it only when intentionally regenerating translations.
Contributing
Read CONTRIBUTE.md and AGENTS.md before making changes.
- Treat component source and tests as the authority for documented behavior.
- Update tests when public behavior changes.
- Update the component README and documentation snippets when they are affected.
- Keep changes scoped; do not edit generated or unrelated files without a reason.
- Run targeted checks first, followed by the relevant repository-level checks.
- Use Conventional Commits, scoped to a component when possible.
Release Model
This monorepo is the source of truth. Maintenance workflows split src/<component> into
individual friendsofhyperf/<component> repositories, and releases apply a shared version
tag across the monorepo and component repositories.
The split and release scripts force-push or tag remote repositories. They are maintainer-only operations and should not be run during normal development.
Community
License
FriendsOfHyperf Components is open-sourced software licensed under the MIT License.