กรอบ PHP ที่มีน้ำหนักเบา
เฟรมเวิร์ก PHP แบบง่าย ๆ ? หรืออาจกล่าวได้ว่าเป็นเทมเพลตแอปพลิเคชัน
orm ใช้ orm ที่มีคารมคมคายเส้นทางใช้ fastroute
การออกแบบอินเตอร์เฟสส่วนใหญ่อ้างถึง Laravel ซึ่งใช้โหมดซุ้ม, โหมดซิงเกิล, การผกผันควบคุม (IOC) และการฉีดพึ่งพา (DI) และบางคนก็ใช้โหมดการออกแบบอื่น ๆ
คอนเทนเนอร์ IOC แบบบูรณาการ, PSR-11 เข้ากันได้
รองรับการรวมเข้ากับ ReactJS และเฟรมเวิร์กส่วนหน้าอื่น ๆ ก็โอเค แต่ฉันเขียนการกำหนดค่า ReactJS เท่านั้น
มิดเดิลแวร์ที่รองรับมาตรฐาน PSR-15
คำขอและการตอบสนองที่ห่อหุ้มซึ่งออกแบบตามมาตรฐาน PSR-7 แต่เพิ่มอินเทอร์เฟซเหมือน Laravel
รองรับการตั้งค่าการฉีดพึ่งพาการกำหนดเส้นทางและมิดเดิลแวร์ผ่านคำอธิบายประกอบ
รองรับ AOP แต่เนื่องจากไม่มีวิธีการสืบทอดตัวแทนขอบเขตการสนับสนุนสำหรับการเข้าจึงมี จำกัด ปัจจุบันรองรับรายการร้านค้าและรายการคอนโทรลเลอร์ ในเวลาเดียวกันมีการเพิ่มวิธีการที่สอดคล้องกันลงในคอนเทนเนอร์เพื่อให้ฟังก์ชั่นรายการ
เหตุผลที่ไม่ได้ใช้พร็อกซีมรดกคือ PHP ไม่มีอินเทอร์เฟซสะท้อนพร็อกซีคล้ายกับใน Java พร็อกซีมรดก PHP จำเป็นต้องใช้การประเมินหรือจำเป็นต้องประกาศคลาสแบบไดนามิกซึ่งมีความเสี่ยงด้านความปลอดภัย
ให้การใช้งานผู้สังเกตการณ์อย่างง่ายแม้ว่าโดยทั่วไปจะไร้ประโยชน์
ใช้ APCU เพื่อบันทึกคำอธิบายประกอบแคช
มันให้การดำเนินการของคิวงานคล้ายกับ coroutine ซึ่งสามารถยอมแพ้ในเชิงรุก แต่เนื่องจาก PHP ไม่มีกลไกมัลติเธรดจึงไม่สามารถปิดการปิดกั้นได้
เนื่องจากคุณกำลังเขียนโครงการประเภทนี้เป็นครั้งแรกจะมีข้อบกพร่องและช่องโหว่การออกแบบมากมาย ไม่แนะนำให้ใช้โครงการในสภาพแวดล้อมการผลิตใด ๆ เพียงเพื่อการเรียนรู้ หากคุณมีข้อเสนอแนะที่ดีกว่าหรือค้นหาข้อบกพร่องโปรดอย่าลังเลที่จะตอบรับ
จุดประสงค์ในการเขียนโครงการนี้คือการเตรียมความพร้อมสำหรับโครงการบล็อกถัดไปเนื่องจากไม่มีกรอบการใช้งานดังนั้นโครงการนี้ 2333 จึงถูกสร้างขึ้น
git clone https://github.com/syfxlin/xkphp.gitcomposer install ในบางกรณีอาจไม่ได้ติดตั้ง laminas/laminas-httphandlerrunner ตามปกติ ในเวลานี้คุณต้องติดตั้ง laminas/laminas-diactoros ก่อน
yarnphp -r " echo base64_encode(openssl_random_pseudo_bytes(32)); "composer migration:upphp -S 0.0.0.0:8000 -t publicยังไม่มี
XK-PHP เขียนและดูแลรักษาด้วยความช่วยเหลือของ Otstar Lin และผู้มีส่วนร่วมต่อไปนี้
OTSTAR LIN -เว็บไซต์บุคคล·บล็อก· GitHub
โอเพ่นซอร์สภายใต้ใบอนุญาต Apache License 2.0