معماری Laravel
پنجشنبه 19 دی 1398Laravel یک فریمورک وب مبتنی بر PHP است. Laravel یک فریمورک رایگان و open-source است. این فریمورک در برنامههای کوچک و بزرگ کاملا برجسته برنامههای وب مورد استفاده قرار میگیرد. معماری Laravel از الگوی MVC پیروی میکند. در اینجا ساختار Laravel MVC را خواهیم دید. Laravel دارای ویژگیهای زیادی است که سرعت توسعه وب را بهبود میبخشد. در این مقاله ما جوانب مثبت و منفی Laravel را بررسی میکنیم.
معماری Laravel
همانطور که گفتیم معماری Laravel از الگوی MVC پیروی میکند. MVC مخفف Model View Controller است. معماری Laravel طبق هر نسخه Laravel تغییر میکند. در اینجا ما پیادهسازی MVC در لاراول را مشاهده میکنیم.
Model
همانطور که همه ما در مورد Model در MVC میدانیم، دادهها را در پایگاه داده یا هر برنامه ذخیرهسازی دیگری مدیریت میکند. در برنامه Laravel، مدل یک کلاس با یک سری خصوصیات (پراپرتی) است. به طور خلاصه، اگر شما پروژه Student را در Laravel توسعه دهید و برخی کلاسها را با نام منحصربهفرد ایجاد کنید، پس مدل جدول شما را خواهد ساخت و ستونها همان پراپرتیهای کلاس در پایگاه داده میشوند.
Student Properties
Name
Department
Enroll No
برای ایجاد یک مدل در Laravel، دستور زیر را اجرا کنید:
$ php artisan make:model Student
با استفاده از این دستور، Laravel یک فایل Student.php در پوشه ایجاد خواهد کرد. این یک کلاس PHP با نام Student خواهد بود. این مدلی برای جدول Student در پایگاه داده خواهد بود.
View
در الگوی MVC، view برای نمایش دادهها استفاده میشود. اگر در مورد Viewهای Laravel صحبت کنیم، پس همه viewها در پوشه resources/views قرار میگیرند. مثلا، شما یک فایل student.blade.php ایجاد میکنید، سپس در پوشه resources/views پروژه ذخیره میشود. این فایل شامل کد و نمایش View صفحه است.
Controller
در الگوی MVC، Controller برای مدیریت درخواستها استفاده میشود. با استفاده از یک خط کد، مسیریابی منابع Laravel مسیرهای " CRUD" را به یک controller اختصاص میدهند. این مورد به عنوان هدایت ترافیک بین Viewها و Modelها کار میکند. اگر میخواهید یک resource controller بسازید، پس دستور زیر را اجرا کنید:
$ php artisan make:controller StudentController -r
Laravel یک فایل جدید در پوشه app/Http/Controllers به نام StudentController.php ایجاد خواهد کرد. Controller شامل متدی برای هر یک از عملیات منابع موجود است. Resource Controller اقدامات بسیاری مانند Get، Post، Delete، Put، Patch و غیره را مدیریت میکند.
ویژگیهای Laravel
مسیریابی (Routing)
Schema Builder
Include mail class
ماژولار بودن (Modularity)
قابلیت تست (Testability)
چرا Laravel محبوبترین فریمورک PHP است؟
ارائه پشتیبانی داخلی برای Rackspace Cloud Storage، Amazon S3 و سیستم ذخیرهسازی محلی ابری (cloud)
فرآیند مدیریت خطا و سفارشیسازی آسان
ارائه قالبها، ابزارها و کتابخانههای فراوان
پکیجهای داخلی چندگانه
پیادهسازی ORM داخلی
چند زبانه بودن
Laracasts (ترکیبی از ویدیوهای رایگان و غیررایگان برای هدایت استفاده از لاراول به طور موثر)
Artisan (ابزار خط فرمان (command line) داخلی)
مهاجرتهای (Migration) پایگاه داده
تست واحد (Unit testing)
امنیت
موتور Blade template
مزایای Laravel
مقیاسپذیر بودن
شامل فضای نامها (namespaces) و اینترفیسها
استفاده مجدد از کامپوننتها
معایت Laravel
گاهی اوقات هنگام انتقال لاراول 4 به 5 برنامه دچار مشکل میشود
ارتقاء ممکن است مشکلساز باشد
مستندات سنگین
اگر بخواهید هر برنامه وبی را در PHP ایجاد کنید، پس Laravel حوزه کاری شماست زیرا استفاده از آن آسان بوده و طراحی آن ساختیافتهتر است. در Laravel، شما میتوانید از کامپوننتهای موجود از فریمورکهای دیگر استفاده مجدد کرده و یک برنامه را توسعه دهید. اگر اصول اولیه PHP و Core PHP را بشناسید، پس توسعه برنامه با Laravel برای شما بسیار آسان خواهد بود.
- PHP
- 2k بازدید
- 2 تشکر