المعلوماتية > برمجيات
أطر عمل PHP؛ Slim سلِم
- تعريف بإطار العمل:
- تجهيز بيئة العمل لاستخدام إطار العمل:
- خادم ويب مع إمكانية إعادة كتابة محدد موقع الموارد Uniform Resource Locator (URL) rewriting يمكن من خلالها للمسؤولين عن تطبيقات الويب إنشاء قواعد قوية لتنجيز URLs سهلة التذكر من قبل المستخدمين، وسهلة العثور عليها من قبل محركات البحث.
- PHP >= 7.2.
- تثبيت إطار العمل على الجهاز:
composer require slim/slim: “4
تنزّل هذه التعليمة إطارَ عمل Slim واعتماديات الطرف الثالث إلى مشروع تطبيق الويب.
وقبل التمكُّن من مباشرة استخدام إطار العمل Slim؛ لا بُدّ من اختيار تطبيق PSR-7 المناسب لتطبيق الويب المطلوب تطويره، والغرض من ذلك توفير مجموعة من الواجهات الشائعة لرسائل بروتوكول HTTP (3). وللتمكن من ذلك أوتوماتيكيًّا واستخدام AppFactory::create() و App::run() دون الحاجة إلى إنشاء طلب خادم (ServerRequest) يدويًّا؛ يجب تثبيت أحد التطبيقات الآتية (4):
- Slim PSR-7 من خلال تنفيذ التعليمة الآتية:
- Nyholm PSR-7 و Nyholm PSR-6 Server من خلال تنفيذ التعليمة الآتية:
- Guzzle PSR-7 و Guzzle HTTP Factory من خلال تنفيذ التعليمة الآتية:
- Laminas Diactoros من خلال تنفيذ التعليمة الآتية:
- أُسس عمل الإطار:
- الطلبات (Request) والإجابات (Response):
يحتوي طلب بروتوكول HTTP على إحدى الطرائق الآتية:
GET – POST – PUT – DELETE – HEAD – PATCH – OPTION
ومن الممكن الحصول على نوع طريقة طلبات بروتوكول HTTP عن طريق استخدام تابع getMethod() (5).
أمّا عن حالة الاستجابة؛ فتحتوي كل إجابة لبروتوكول HTTP على رمز لحالة الكود. ويُعرّف هذا الرمز نوع استجابة بروتوكول HTTP المراد إرجاعه إلى العميل. والقيمة الافتراضية لرمز استجابة PSR-7 هي 200. ومن الممكن الحصول على حالة الاستجابة عن طريق استخدام تابع getStatusCode() (6).
- التوجيه أو المسارات (Routing)
وعلى الرغم من استخدام هذه المكتبة لإنجاز عمليات التوجيه في إطار العمل؛ فقد فُصِلت نواة التطبيق على نحو كامل عنها وأُنشِئت واجهات لتمهيد الطريق لاستخدام مكتبات توجيه أخرى.
يمكن تعريف المسارات في تطبيق الويب باستخدام proxy method على أنموذج Slim\App. ويؤمّن إطار العمل طرائق لبرتوكول HTTP الأكثر شيوعًا (8).
- معالجة الأخطاء في الطبقة المتوسطة (Error Handling Middleware)
- ميزات إطار العمل (10):
- موجه بروتوكول نقل النص HTTP
- الطبقة المتوسطة Middleware
- المجتمع الخاص باللغة:
1- Slack هنا
2- قناة Freenode IRC على #slimphp
المصادر:
2- Microsoft. URL rewrite [Internet]. The Official Microsoft IIS Site. [cited 2022Aug2]. Available from: هنا
3- Php-Fig. PHP-Fig/HTTP-message: The purpose of this PSR is to provide a set of common interfaces for HTTP messages as described in RFC 7230 and RFC 7231 [Internet]. GitHub. [cited 2022Aug2]. Available from: هنا
4- Installation [Internet]. Slim Framework. Slim; [cited 2022Aug2]. Available from: هنا
5- Request [Internet]. Slim Framework. [cited 2022Aug2]. Available from: هنا
6- Response [Internet]. Slim Framework. Slim; [cited 2022Aug2]. Available from: هنا
7- Routing [Internet]. Slim Framework. Slim; [cited 2022Aug2]. Available from: هنا
8- FastRoute - Fast request router for PHP. GitHub. Available from: هنا
9- Error middleware [Internet]. Slim Framework. Slim; [cited 2022Aug2]. Available from: هنا
10- Error Handling Middleware. Slim Framework. Available from: هنا
11- Slim [Internet]. Slim Framework. 2022 [cited 2022Aug2]. Available from: هنا