Kerangka pengembangan coroutine imi adalah kerangka pengembangan coroutine PHP berdasarkan Swoole. Kerangka ini mendukung pengembangan layanan protokol utama seperti Http, Http2, WebSocket, TCP, UDP, dan MQTT , Internet of Things dan skenario lainnya! .
Komponen inti:
HttpApi, WebSocket, TCP, UDP, server MQTT
Kumpulan koneksi MySQL (master-slave + penyeimbangan beban)
Kumpulan koneksi Redis (master-slave + penyeimbangan beban)
ORM yang sangat mudah digunakan (Db, Redis, Tree)
Pembaruan panas milidetik
AOP
Wadah kacang
Cache
Konfigurasi membaca dan menulis (Config)
Pencacahan
Peristiwa
Fasad
Mengesahkan
Kunci
Catatan
Tugas asinkron (Tugas)
Persyaratan lingkungan:
Redis, MySQL
log pembaruan kerangka pengembangan coroutine saya:
v2.0.11
Meningkatkan
Pembaruan terbaru mendukung memuat ulang file konfigurasi
Ditambahkan Server::getConnections(), Server::getConnectionCount()(#203)
Mendukung penulisan data secara dinamis ke dalam model, tetapi tidak mendukung toArray() dan serialisasi
Pemantauan SQL mendukung penangkapan pengecualian
Startup lingkungan pekerja mendukung keluaran informasi jaringan
with() mengaitkan atribut pramuat
Versi ini mengimplementasikan model kueri terkait dengan fitur, yang dapat mengurangi jumlah kueri dan meningkatkan kinerja kueri terkait.
Mendukung pengaturan with=true dalam anotasi terkait untuk mengaktifkan pramuat otomatis
Mendukung pengaturan withFields={"Tentukan bidang berseri"} dalam anotasi asosiasi
Mendukung pemanggilan metode with() setelah Model::query() untuk menentukan nama atribut terkait yang dimuat sebelumnya
Mendukung pemanggilan metode with() setelah Model::query() untuk menentukan callback yang sesuai dengan nama atribut terkait yang dimuat sebelumnya.
Mendukung panggilan withField() setelah Model::query() untuk menentukan model dan kolom yang ditanyakan selama serialisasi
Model::queryRelationsList() mendukung kueri yang dimuat sebelumnya
optimasi
Meningkatkan pengalaman pengembangan (#197)
Optimalkan kinerja pemindaian file di bawah Swoole
Kompatibel dengan skenario di mana nama pendek Swoole dimatikan
Optimalkan AppContexts::APP_PATH agar diperlakukan sebagai jalur absolut
Optimalkan toleransi kesalahan pengecualian yang disebabkan oleh kesalahan json
Peningkatan pengujian unit (#202)
Rekonstruksi perutean HTTP untuk meningkatkan kinerja (#200)
Optimalkan prompt ketika tipe ArrayList tidak sesuai
Saat membuat model, atur metode pengambil bidang tipe json ke pengembalian referensi untuk memfasilitasi modifikasi data.
Optimalkan beberapa kode
memperbaiki
Memperbaiki masalah konfigurasi @app.overrideDefaultIgnoreNamespace dan @app.overrideDefaultIgnorePaths tidak berpengaruh
Memperbaiki masalah initUri() yang akan terpicu saat Permintaan dijalankan setUri()
Perbaiki masalah konversi komponen izin menjadi bentuk pohon (#201)
Memperbaiki masalah ketika SessionId diperlakukan sebagai Sesi normal ketika itu adalah string kosong
Perbaiki kegagalan penguraian SessionJson yang kosong
Perbaiki SwooleRedisServerUtil
Perbaiki WorkermanUDP tidak bisa mendapatkan packetData dari konteks permintaan
Memperbaiki masalah parameter bidang yang ditentukan pada anotasi ManyToMany, PolymorphicToMany, dan PolymorphicManyToMany tidak valid.