ducdev
Bài viết

Laravel cơ bản — MVC, Routing, Eloquent và Blade Template

Laravel là framework PHP được yêu thích nhất hiện nay. Bài viết giới thiệu kiến trúc MVC của Laravel, cách định nghĩa route, dùng Eloquent ORM và viết Blade template.

a
admin
03/05/2026 · 2 phút đọc · 0 lượt xem
Chia sẻ
Laravel cơ bản — MVC, Routing, Eloquent và Blade Template

Laravel không chỉ là một framework — đó là một hệ sinh thái hoàn chỉnh giúp bạn xây dựng ứng dụng web chuyên nghiệp nhanh hơn bao giờ hết. Với cú pháp biểu cảm, tài liệu xuất sắc và cộng đồng khổng lồ, không có gì ngạc nhiên khi Laravel liên tục dẫn đầu các bảng xếp hạng framework PHP.

Kiến trúc MVC trong Laravel

  • Model: Đại diện cho dữ liệu và logic nghiệp vụ (Eloquent ORM)
  • View: Giao diện hiển thị (Blade template)
  • Controller: Xử lý request và kết nối Model với View

Routing

// Route đơn giản
Route::get('/bai-viet', function () {
    return view('posts.index');
});

// Route với Controller
Route::get('/bai-viet', [PostController::class, 'index']);
Route::get('/bai-viet/{slug}', [PostController::class, 'show']);

// Route nhóm với middleware
Route::prefix('admin')->middleware('auth')->group(function () {
    Route::resource('posts', PostController::class);
});

Controller

class PostController extends Controller
{
    public function index()
    {
        $posts = Post::where('status', 'published')
            ->latest('published_at')
            ->paginate(10);
        return view('posts.index', compact('posts'));
    }

    public function show(string $slug)
    {
        $post = Post::where('slug', $slug)->firstOrFail();
        $post->increment('views');
        return view('posts.show', compact('post'));
    }
}

Eloquent ORM

class Post extends Model
{
    protected $fillable = ['title', 'slug', 'content', 'status'];

    public function author() {
        return $this->belongsTo(User::class);
    }

    public function scopePublished($query) {
        return $query->where('status', 'published');
    }
}

// Sử dụng
$posts = Post::published()->with('author')->latest()->get();
$post = Post::findOrFail($id);
Post::create(['title' => 'Tiêu đề', 'content' => '...']);

Blade Template

@extends('layouts.app')

@section('content')
    @foreach($posts as $post)
        <article>
            <h2>{{ $post->title }}</h2>
            <p>{{ $post->excerpt }}</p>
        </article>
    @endforeach
    {{ $posts->links() }}
@endsection
Laravel làm cho PHP thú vị trở lại. Khi bạn quen với Eloquent và Blade, bạn sẽ không muốn quay lại PHP thuần nữa.

Kết luận

Laravel cung cấp mọi công cụ bạn cần để xây dựng ứng dụng web hiện đại. Bước tiếp theo: cài Laravel qua Composer, tạo project mới và thực hành xây dựng một CRUD đơn giản.

#PHP #Laravel #MVC #Eloquent #framework
a
Tác giả
admin

Lập trình viên, yêu thích chia sẻ kiến thức về công nghệ và phát triển phần mềm.

Bình luận

Chưa có bình luận. Hãy là người đầu tiên!

Để lại bình luận

Bình luận sẽ được duyệt trước khi hiển thị.