مارک پلاس

تکنولوژی نوین اینترنتی

مفهوم MVC در لاراول

دسته‌بندی‌ها

مفهوم MVC در لاراول
MVC لاراول

در فریم‌ورک Laravel، معماری اصلی پروژه‌ها بر پایه‌ی الگوی معروف MVC طراحی شده است. در این مقاله، به زبان ساده و همراه با مثال، معماری MVC در لاراول را توضیح می‌دهم.


🧱 MVC چیست؟

MVC مخفف سه کلمه است:

  • MModel: مدل داده‌ها و ارتباط با دیتابیس

  • VView: لایه نمایش یا رابط کاربری

  • CController: منطق برنامه و کنترل تعامل بین Model و View

هدف این معماری، جداسازی وظایف و ساختار منظم در پروژه‌هاست. حالا ببینیم این‌ها در لاراول چه نقش‌هایی دارند:


🧩 Model در لاراول

مدل‌ها در لاراول با استفاده از Eloquent ORM ساخته می‌شوند و نماینده‌ی جداول دیتابیس هستند.

مسئولیت‌ها:

  • ارتباط با دیتابیس

  • مدیریت داده‌ها

  • تعریف روابط (One to Many, Many to Many و...)

📂 مسیر: app/Models/

php
class Post extends Model { protected $fillable = ['title', 'body']; }

🎮 Controller در لاراول

کنترلرها مسئول دریافت درخواست (Request)، پردازش آن، تعامل با مدل و بازگرداندن پاسخ به ویو هستند.

📂 مسیر: app/Http/Controllers/

php
class PostController extends Controller { public function index() { $posts = Post::all(); return view('posts.index', compact('posts')); } }

🎨 View در لاراول

ویوها (Views) فایل‌هایی با پسوند .blade.php هستند که در آن‌ها HTML و قالب‌بندی صفحه نوشته می‌شود.

📂 مسیر: resources/views/

مثال:

blade
<!-- resources/views/posts/index.blade.php --> <h1>لیست پست‌ها</h1> @foreach($posts as $post) <h3>{{ $post->title }}</h3> <p>{{ $post->body }}</p> @endforeach

🧭 اتصال اجزای MVC با Route

📂 مسیر: routes/web.php

php
use App\Http\Controllers\PostController; Route::get('/posts', [PostController::class, 'index']);

🔁 جریان درخواست در MVC لاراول

css
مرورگر ➜ Route ➜ Controller ➜ Model ➜ (پاسخ از دیتابیس) ➜ Controller ➜ View ➜ HTML به کاربر

📌 مزایای معماری MVC

✅ ساختار ماژولار و منظم
✅ جداسازی مسئولیت‌ها
✅ قابلیت تست‌پذیری آسان
✅ توسعه سریع و آسان توسط چند توسعه‌دهنده
✅ نگهداری ساده‌تر پروژه‌های بزرگ


✅ نتیجه‌گیری

الگوی MVC پایه‌ و بنیان پروژه‌های لاراول است و یادگیری صحیح آن نقش مهمی در طراحی پروژه‌های حرفه‌ای دارد. لاراول با ابزارهایی مثل Eloquent و Blade و Route این الگو را بسیار ساده و روان پیاده‌سازی کرده است.

محتوای مرتبط

پست‌های مرتبط