معماری Laravel

پنجشنبه 19 دی 1398

Laravel یک فریم‌ورک وب مبتنی بر PHP است. Laravel یک فریم‌ورک رایگان و open-source است. این فریم‌ورک در برنامه‌های کوچک و بزرگ کاملا برجسته برنامه‌های وب مورد استفاده قرار می‌گیرد. معماری Laravel از الگوی MVC پیروی می‌کند. در اینجا ساختار Laravel MVC را خواهیم دید. Laravel دارای ویژگی‌های زیادی است که سرعت توسعه وب را بهبود می‌بخشد. در این مقاله ما جوانب مثبت و منفی 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 برای شما بسیار آسان خواهد بود.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • PHP
  • 2k بازدید
  • 2 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید