Hyperf adalah kerangka kerja PHP CLI yang sangat berkinerja dan fleksibel, didukung oleh server coroutine canggih dan sejumlah besar komponen yang telah teruji pertempuran. Selain secara meyakinkan mengalahkan kerangka kerja PHP-FPM dalam tolok ukur, Hyperf memiliki keunikan dalam fokusnya pada fleksibilitas dan komposisi. Hyperf dikirimkan dengan injektor ketergantungan yang mendukung AOP (pemrograman berorientasi aspek) untuk memastikan komponen dan kelas dapat dipasang dan diprogram meta. Semua komponen inti Hyperf secara ketat mengikuti standar PSR dan dapat digunakan dalam kerangka kerja lain.
Arsitektur Hyperf dibangun menggunakan kombinasi Coroutines
, Dependency injection
, Events
, Annotations
, dan AOP
. Selain menyediakan MySQL
, Redis
, dan klien coroutine umum lainnya, Hyperf
juga menyediakan versi WebSocket server / client
yang kompatibel dengan coroutine, JSON RPC server / client
, gRPC server / client
, Zipkin/Jaeger (OpenTracing) client
, Guzzle HTTP client
, Elasticsearch client
, Consul client
, ETCD client
, AMQP component
, Apollo configuration center
, Aliyun ACM
, ETCD configuration center
, Token bucket algorithm-based limiter
, Universal connection pool
, Circuit breaker
, Swagger
, Snowflake
, Simply Redis MQ
, RabbitMQ
, NSQ
, Nats
, Seconds level crontab
, Custom Processes
, dll. Oleh karena itu, pengembang sepenuhnya dapat menghindari penerapan versi yang kompatibel dengan coroutine dari perpustakaan ini.
Yakinlah, Hyperf masih merupakan kerangka PHP. Hyperf menyediakan semua paket yang Anda harapkan: Middleware
, Event Manager
, Coroutine-optimized Eloquent ORM
(dan Model Cache!), Translation
, Validation
, View engine (Blade/Smarty/Twig/Plates/ThinkTemplate)
dan banyak lagi.
Meskipun ada banyak kerangka kerja PHP baru, kami masih belum menemukan kerangka kerja yang cocok dengan desain elegan dengan kinerja ultra-tinggi, kami juga belum menemukan kerangka kerja yang membuka jalan bagi layanan mikro PHP. Dengan mengingat visi ini, kami akan terus berinvestasi di masa depan kerangka kerja ini, dan Anda dipersilakan untuk bergabung dengan kami dalam berkontribusi pada pengembangan sumber terbuka Hyperf.
Hyperspeed + Flexibility = Hyperf
. Persamaan yang tersembunyi dalam nama kami menunjukkan ambisi pendirian Hyperf.
Hyperspeed: Memanfaatkan coroutine Swoole
dan Swow
, Hyperf mampu menangani lalu lintas dalam jumlah besar. Tim Hyperf melakukan banyak optimasi pada kerangka kerja untuk menghilangkan setiap hambatan antara pengguna akhir dan mesin kami yang hebat.
Fleksibilitas: Kami yakin komponen Injeksi Ketergantungan kami adalah yang terbaik di kelasnya. Dengan bantuan Hyperf DI
, semua komponen dan kelas dapat dipasang dan diprogram meta. Sebaliknya, seluruh komponen Hyperf dimaksudkan untuk dibagikan kepada dunia. Komitmen kami terhadap standar PSR berarti Anda dapat menggunakan komponen Hyperf dalam kerangka kerja apa pun yang kompatibel.
Melalui ciri-ciri ini, Hyperf telah menemukan potensi yang belum dimanfaatkan di banyak bidang: penerapan server Web, server gateway, perangkat lunak middleware terdistribusi, arsitektur layanan mikro, server game, dan Internet-of-Things (IoT).
Linux, OS X atau Cygwin, WSL, Windows
PHP 8.1+
Swoole 5.0+ atau Swow 1.4+
Selain dokumentasi multibahasa kami yang terpelihara dengan baik, sejumlah besar pengujian unit untuk setiap komponen memastikan kebenaran logis. Sebelum Hyperf
dirilis ke publik (20-06-2019), Hyperf telah digunakan secara pribadi oleh beberapa perusahaan Internet menengah dan besar untuk berbagai layanan, yang telah berjalan tanpa insiden selama bertahun-tahun di lingkungan produksi yang keras.
Situs web resmi https://hyperf.io
Dokumentasi https://hyperf.wiki
Jika Anda menemukan kerentanan keamanan dalam Hyperf, silakan kirim email ke Tim Hyperf melalui [email protected]. Semua kerentanan keamanan akan segera diatasi.
Proyek ini ada berkat semua orang yang berkontribusi. [Menyumbang].
Menjadi kontributor keuangan dan membantu kami mempertahankan komunitas kami. [Menyumbang]
Dukung proyek ini dengan organisasi atau perusahaan Anda. Logo Anda akan muncul di sini dengan tautan ke situs web Anda. [Menyumbang]
perintah: wrk -c 1024 -t 8 http://127.0.0.1:9501/
Menjalankan tes 10 detik @ http://127.0.0.1:9501/ 8 thread dan 1024 koneksi Statistik Thread Rata-Rata Stdev Maks +/- Stdevs Latensi 10,08 md 6,82 md 56,66 md 70,19% Persyaratan/Detik 13,17k 5,94k 33,06k 84,12% 1049478 permintaan dalam 10,10 detik, 190,16 MB permintaan baca/dtk: 103921,49 Transfer/dtk: 18,83MB
Nano adalah distribusi Hyperf minimal tanpa konfigurasi, tanpa kerangka, yang memungkinkan Anda dengan cepat membangun aplikasi Hyperf hanya dengan satu file PHP.
GoTask adalah perpustakaan yang memunculkan proses go sebagai sidecar Swoole dan membuat IPC dua arah untuk memindahkan tugas berat ke Go. Anggap saja sebagai Swoole Taskworker di Go.
Jet adalah klien RPC model penyatuan, protokol JSONRPC bawaan, tersedia untuk dijalankan di SEMUA lingkungan PHP, termasuk lingkungan PHP-FPM dan Swoole/Hyperf.
Box berkomitmen untuk membantu meningkatkan pengalaman pemrograman aplikasi Hyperf, mengelola lingkungan PHP dan dependensi terkait, menyediakan kemampuan untuk mengemas aplikasi Hyperf sebagai program biner, dan juga menyediakan layanan proxy terbalik untuk mengelola dan menerapkan aplikasi Hyperf.
Kerangka kerja Hyperf adalah perangkat lunak sumber terbuka yang dilisensikan di bawah lisensi MIT.