Kerangka PHP yang ringan
"Kerangka kerja" PHP sederhana? Atau dapat dikatakan sebagai templat aplikasi.
ORM Gunakan ORM yang fasih, rute gunakan fastroute
Sebagian besar desain antarmuka mengacu pada Laravel, yang mengadopsi mode fasad, mode singleton, inversi kontrol (IOC), dan injeksi ketergantungan (DI), dan beberapa juga menggunakan mode desain lainnya.
Kontainer IOC terintegrasi, PSR-11 kompatibel
Mendukung integrasi dengan ReactJs, dan kerangka kerja front-end lainnya juga baik-baik saja, tetapi saya hanya menulis konfigurasi ReactJS.
Middleware yang mendukung standar PSR-15.
Permintaan dan tanggapan yang dienkapsulasi, dirancang sesuai dengan standar PSR-7, tetapi menambahkan antarmuka seperti Laravel.
Mendukung Pengaturan Injeksi Ketergantungan, Perutean dan Middleware Melalui Anotasi
Ini mendukung AOP, tetapi karena tidak ada metode agen warisan, ruang lingkup dukungan untuk masuk terbatas. Saat ini, mendukung entri toko dan entri pengontrol. Pada saat yang sama, metode yang sesuai telah ditambahkan ke wadah untuk menyediakan fungsi masuk.
Alasan mengapa proxy warisan tidak digunakan adalah bahwa PHP tidak memiliki antarmuka refleksi proxy yang mirip dengan yang ada di java. Proxy pewarisan PHP perlu menggunakan eval atau perlu secara dinamis mendeklarasikan kelas, yang memiliki risiko keamanan.
Berikan implementasi pengamat sederhana, meskipun umumnya tidak berguna.
Gunakan anotasi APCU untuk cache
Ini memberikan implementasi antrian tugas, mirip dengan coroutine, yang dapat diserahkan secara proaktif, tetapi karena PHP tidak memiliki mekanisme multi-threading, ia tidak dapat mencapai non-blocking.
Karena Anda sedang menulis proyek semacam ini untuk pertama kalinya, akan ada banyak kelemahan dan kerentanan desain. Tidak disarankan untuk menggunakan proyek di lingkungan produksi apa pun, hanya untuk belajar. Jika Anda memiliki saran yang lebih baik atau menemukan kekurangan, jangan ragu untuk umpan balik.
Tujuan menulis proyek ini adalah untuk mempersiapkan proyek blog berikutnya, karena tidak ada kerangka kerja untuk digunakan, jadi proyek ini 2333 telah dibuat.
git clone https://github.com/syfxlin/xkphp.gitcomposer install Dalam beberapa kasus, laminas/laminas-httphandlerrunner mungkin tidak diinstal secara normal. Saat ini, Anda perlu menginstal laminas/laminas-diactoros terlebih dahulu.
yarnphp -r " echo base64_encode(openssl_random_pseudo_bytes(32)); "composer migration:upphp -S 0.0.0.0:8000 -t publicBelum ada
XK-PHP ditulis dan dipelihara dengan bantuan OTSTAR Lin dan kontributor berikut.
OTSTAR LIN -PERSONAL SITUS PRIMERAL · Blog · GitHub
Sumber terbuka di bawah lisensi Lisensi Apache 2.0.