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.
Chưa có bình luận. Hãy là người đầu tiên!