تعتبر لغة PHP اليوم من اكثر لغات الويب استخدامًا على الانترنت والسبب فى ذلك يرجع إلى عدة عوامل اهمها اعتماد نظم ادارة محتوي شهيرة مثل وردبريس عليها وكذلك اطر عمل شهيرة مثل لارافيل المبنية على PHP.
ماذا تعنى كلمة اطر عمل Framework
قبل أن نغوص في شرح Laravel ، نحتاج أن نفهم ما هو اطار العمل.
بشكل عام ، إطار العمل عبارة عن مجموعة من المفاهيم والخطوط العريضة والاكواد والتى تستخدم لبناء شيء مفيد.
فبدل ما اعادة اختراع العجلة كل مرة عندما تقوم ببناء موقع , فتقوم باستخدام اطار عمل يوفر عليك الوقت والجهد.
اطار العمل فى لغات البرمجة تعطى للمطور امكانية اضافة الميزات إلى المشروع دون الحاجة للتعديل على الكود الاصلى لاطار العمل.
وتتم اضافة الميزات للمشروع عن طريق اضافة الاكواد عن طريق معايير ثابتة محددة من اطار العمل.
ولاستخدام اطر العمل الكثير من المميزات هذه بعضها
- تقليل التعقيدات حيث يسمح اطار العمل للمطور بتنظيم الكود وبالتالى تفتيت المشكلات المعقدة إلى مشاكل اصغر
- سهولة الاختبار واكتشاف الاخطاء حيث يتم تصميم اطار العمل من قبل المطورين الاصليين واضعين فى الاعتبار اظهار اين حدثت المشكلة تمامًا ومتى حدثت بالتحديد
- سهولة فهم كود شخص اخر بسبب المعايير الثابتة فى كتابة الكود والتى يستخدمها الجميع فى كتابة مشروعتهم , فبالتالى يسهل فهم مشروع شخص اخر لنفس اطار العمل وهذه من اهم المميزات لانك قد تضطر للعمل فى فريق من المبرمجين ففى حالة استخدام اطار عمل له معايير ثابتة سيفهم الجميع المشروع.
- القابلية للتوسع حيث تسمح اطر العمل للمطور بسهولة اضافة الميزات للمشروع عند الحاجة.
ماهى لارافيل Laravel
يعد Laravel أحد أكثر أطر PHP استخدامًا في العالم لإنشاء تطبيقات الويب وتشمل المشروعات الصغيرة والكبيرة.
Laravel هي اختيار المطورين المحترفين بسبب أدائها وميزاتها وقابليتها للتطوير.
تتبع Laravel هيكل MVC مما يجعلها سهلة التعلم.
لارافيل حلم لمطورى الويب لانها توفر لهم الكثير من المميزات المدمج بيها والتى يحتاجها اي مطور لتطوير تطبيق ويب مثل authentication و mail و sessions وغيرها الكثير.
تم إنشاء Laravel بواسطة Taylor Otwell في عام 2011 ، ومنذ ذلك الحين قام بتطوير هذا الإطار كثيرًا وجعله متوافقًا مع أحدث تقنيات الويب.
اهم ماتقدمه لارافيل Laravel
اداة Artisan
هذه الاداة تساعد فى عملية التطوير وهى اداة يتم استخدامها عن طريق terminal او CMD فى Windows حيث بكتابة اوامر بسيطة يمكنها توفير الكثير من الوقت.
عملية Authentication
تسجيل الدخول ونظام العضويات هى عملية اساسية فى تطبيقات الويب اليوم , يمكنك مع لارافيل استخدام النظام المدمج معها بكل سهولة.
تقدم Laravel أيضًا شروحات مفيدة لتنفيذ نظام Authentication الخاصة بك.
التخزين المؤقت Caching
التخزين المؤقت هو تقنية لتخزين البيانات في موقع تخزين مؤقت بحيث يمكن استرجاعها بسرعة عند الحاجة.
يتم استخدام التخزين المؤقت في الغالب لزيادة أداء التطبيق وتقليل وقت المعالجة.
لارافيل تقوم بحفظ نسخ مؤقتة من Views و Routes وذلك لتسريع عملية معالجة الطلبات من المستخدمين.
التوجيه Routing
بمعنى ان رابط معين يأتى بنتائج معينة على سبيل المثال domain.com/category/cars يرجع بجميع المقالات فى تصنيف سيارات.
ادارة Routing فى لارافيل هى عملية بسيطة جدًا ولها الكثير من المميزات.
الاختبار وتصحيح الأخطاء
تم تصميم لارافيل مع الوضع فى الاعتبار اختبار وتصحيح الاخطاء لتسهل على المطورين سهولة اكتشاف الاخطاء وتصحيحها.
محرك القالب Template engine
من اهم المميزات الموجودة فى لارافيل ويسمى Blade فى لارافيل.
يسمح Blade بانشاء Layouts معقدة بكل سهولة والفائدة الاساسية للLayout هى عدم تكرار الاكواد الخاصة بتصميم الصفحات واعادة استخدام نفس الكود فى كل الصفحات ذات نفس التصميم.
التعامل مع قواعد البيانات
بدلًا من كتابة اوامر SQL تأتى لارافيل بالكثير من الدوال المساعدة التى تقوم باداء العمليات على Database بكل سهولة دون الحاجة إلى اعادة كتابة اوامر SQL مرارًا وتكرارًا.
دعم قواعد البيانات المختلفة عن طريق Eloquent ORM
يعتمد اطار Laravel على Eloquent ORM والذي يوفر الدعم لجميع محركات قاعدة البيانات تقريبًا. ولكنه يعمل بشكل مثالي مع MySQL و SQLite. يوفر Laravel شروحات شاملة لجميع دوال Eloquent.
انظمة الملفات File systems
توفر لارافيل الدعم للعديد من انظمة ادارة الملفات. يمكنك استخدام نظام ملفات محلي أو أي نظام سحابى مثل Amazon S3.
يمكنك تحديد نظام الملفات الذي تريد استخدامه من خلال تغيير الخيارات في ملف config / filesystems.php.
الامان Security
يوفر Laravel الاساسيات لإنشاء تطبيقات ويب محمية و آمنة.
تقوم بتخزين كلمات المرور بشكل مشفر بدل من تخزينها فى شكل نص عادى.
Laravel تستخدم BCrytp لتشفير كلمات المرور.
يوفر Laravel الحماية من هجمات SQL injection وأيضًا تنقية جميع مدخلات للمستخدم.
كما توفر آلية سهلة للتحقق من المدخلات للمستخدم على سبيل المثال التأكد من ان حقل معين يحتوي على بريد الكترونى.
نظام تهجير البيانات او Migration
يوفر Laravel نظام الترحيل تمامًا مثل Ruby on Rails لإنشاء هياكل قواعد البيانات. يمكنك استخدام لارافيل لكتابة Migration الذي سينشئ بنية قاعدة البيانات الخاصة بك بدلاً من استخدام SQL.
يمكنك إنشاء قواعد البيانات والجداول باستخدام عمليات الترحيل. إذا كنت تريد تغيير عمود فى الجدول ، فلن تحتاج إلى تكرار إنشاء جدول مرة أخرى بدلاً من ذلك ، يمكنك تشغيل عملية ترحيل جديدة.
نظام Localization
يتيح لك اطار Laravel إنشاء تطبيقات متعددة اللغات في نفس الوقت الذي تقوم فيه بإنشاء التطبيق الخاص بك.