المعلوماتية > برمجيات
أُطر عمل PHP؛ Laravel
لمحة تاريخية عن إطار العمل:
كان إطار عمل Codeigniter هو الأكثر شعبية واستخدامًا بين أطر PHP في عام 2011، وذلك نظرًا إلى سهولة تعلّمه، لكنّه كان يفتقر إلى بعض الميزات مثل إقرار المستخدم (user authorization) والمصادقة (authentication). ولذلك؛ بدأ مهندس البرمجيات تايلور أوتويل Taylor Otwell بتطوير إطار العمل Laravel ليغدو بديلًا عن (1) Codeigniter.
تعريف بإطار العمل:
Laravel هو إطار عمل PHP لتطبيقات الويب، بُنِي بسياق أنيق ومعبر.
يُؤمِن فريق Laravel أنّ العمل يكون مُرضيًا عندما تكون عملية التطوير ممتعة ومبتكرة؛ إذ يسهّل إطار عمل Laravel تطوير تطبيقات الويب عن طريق تخفيف أعباء تنفيذ المهمات الشائعة الاستخدام في العديد من المشاريع. وقد أُصدِرت أول نسخة رسميًّا في تاريخ 9 حزيران (يونيو) 2011 (1).
تجهيز بيئة العمل لاستخدام إطار العمل:
يوجد خياران لتجهيز بيئة العمل:
1) استخدام Laravel Homestead: هو صندوق برمجي معبَّأ مسبقًا مُقدَّم من شركة Vagrant، يؤمّن بيئة تطوير محلية لمشاريع Laravel دون الحاجة إلى تثبيت PHP وخادم الويب (web server) أو أي برنامج آخر على الجهاز المحلي. إن صناديق Vagrant قابلة للإزالة كليًّا، ولذلك؛ في حال حدوث مشكلة ما يمكن التخلص منهم وإعادة إنشائهم من جديد؛ مما يلغي قلق المستخدم تجاه العبث بنظام التشغيل. يعمل Homestead على نظم التشغيل الآتية: Windows وMac وLinux. إضافةً إلى أنه يشمل المتطلبات الآتية: Nginx وPHP وMySQL وPostgreSQL وRedis وMemcaches وNode وجميع المتطلبات الأخرى التي تحتاجها تطبيقات (Laravel (2.
2) تثبيت جميع المتطلبات يدويًّا: يتطلب تشغيل إطار عمل Laravel 6 ما يأتي:
- PHP >= 7.2.0
- BCMath PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- تثبيت إطار العمل على الجهاز:
لاستخدام Laravel لا بُدّ من تثبيت Composer؛ الذي بدوره يُدير اعتماديتها محليًّا داخل كل مشروع، بعدها تُثبَّت نسخة اللارفيل المطلوبة (2).
وأخيرًا؛ بعد إتمام الخطوات السابقة كلها، تحتاج إلى إنشاء خادم تطوير محلي (Local Development server) لتشغيل تطبيق الويب محليًّا (على الرابط هنا) عن طريق استخدام الأمر الآتي:
php artisan serve
- أُسس عمل الإطار:
- التوجيه أو المسارات (Routing):
تُعيَّن مجموعة برمجيات الطبقة المتوسطة web middleware على كل هذه المسارات، وتوفّر بدورها ميزات؛ مثل حالة الجلسة (session state) والحماية من تزوير الطلبات عبر الموقع (Cross Site Request Forgery: CSRF). (4)
- الطبقة المتوسطة (Middleware):
- الحماية من تزوير الطلبات (CSRF Protection):
يولّد Laravel تلقائيًّا رمز CSRF لكل جلسة نشطة للمستخدم، ومهمة هذا الرمز token هو التحقق من أنّ المستخدم المُصادَق عليه هو الذي يقدّم الطلبات في تطبيق الويب (6).
- وحدات التحكم (Controllers):
- الواجهات (Views)
- الجلسات (HTTP Session)
يمتلك Laravel مجموعة متنوعة من أكواد الجلسات (Session backends)، ويمكن الوصول إليها عن طريق واجهة برمجة تطبيقات موحدة (API (9.
- التحقق من صحة البيانات (Validation):
ميزات إطار العمل:
- المصادقة (Authentication)
- رسم مخططات علاقاتية فعالة (Effective Object-relation Mapping (ORM:
- دعم بنية Model-View-Controller) MVC):
رسم توضيحي لآلية عمل بنية MVC
- نظام تهجير بيانات آمن (Secure Migration System):
- Artisan:
- المجتمع الخاص باللغة:
يضم موقع laracasts بعض الدورات التعليمية الخاصة بإطار العمل، إضافةً إلى مساحة واسعة مخصصة لطرح الاستفسارات ومناقشة المشكلات التي من الممكن أن تواجه المطوّرين.
للاطلاع على الموقع: هنا
المصادر:
2. Laravel Homestead [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا
3. Installation [Internet]. Laravel.com. 2022 [cited 16 April 2020cited 04 February 2022]. Available From: هنا
4. Routing [Internet]. Laravel.com. 2022 [cited 16 April 2020cited 04 February 2022]. Available From: هنا
5. Middleware [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا
6. CSRF Protection [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا
7. Controllers [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا
8. Views [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا
9. HTTP Session [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا
10. Validation [Internet]. Laravel.com. 2022 [cited 04 February 2022]. Available From: هنا