إطار عمل خفيف الوزن PHP
PHP بسيط "إطار"؟ أو يمكن أن يقال أن يكون قالب التطبيق.
orm استخدم orm البليغة ، والطرق تستخدم fastroute
تشير معظم تصميمات الواجهة إلى Laravel ، التي تتبنى وضع الواجهة ، وضع Singleton ، انعكاس التحكم (IOC) ، وحقن التبعية (DI) ، ويستخدم البعض أيضًا أوضاع تصميم أخرى.
حاوية IOC المتكاملة ، PSR-11 متوافقة
يدعم التكامل مع ReactJS ، وأطر أخرى في الواجهة الأمامية على ما يرام ، لكنني كتبت فقط تكوين ReactJS.
الوسيطة التي تدعم معيار PSR-15.
الطلبات والاستجابات المغطاة ، المصممة وفقًا لمعايير PSR-7 ، لكنها أضافت واجهات تشبه لارافيل.
يدعم تحديد حقن التبعية والتوجيه والأدوات الوسيطة من خلال التعليق التوضيحي
إنه يدعم AOP ، ولكن نظرًا لعدم وجود طريقة وكيل الميراث ، فإن نطاق دعم الدخول محدود. حاليًا ، يدعم إدخال المتجر وإدخال وحدة التحكم. في الوقت نفسه ، تمت إضافة الطرق المقابلة إلى الحاوية لتوفير وظائف الدخول.
السبب في عدم استخدام وكيل الميراث هو أن PHP ليس لديه واجهة انعكاس الوكيل مماثلة لتلك الموجودة في Java. يحتاج وكيل الميراث PHP إلى استخدام Eval أو طلب إعلان الفصل ديناميكيًا ، والذي يعاني من مخاطر أمان.
توفير تطبيق مراقب بسيط ، على الرغم من أنه غير مجدي بشكل عام.
استخدم 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 -personal website · Blog · github
المصدر المفتوح بموجب ترخيص Apache 2.0.