Giao diện
Cài đặt (Installation)
Giới thiệu Laravel (Meet Laravel)
Laravel là một framework ứng dụng web với cú pháp tinh tế, giàu tính biểu đạt. Một web framework cung cấp cấu trúc và điểm khởi đầu cho việc xây dựng ứng dụng, cho phép bạn tập trung vào việc tạo ra điều tuyệt vời trong khi chúng tôi lo phần còn lại.
Laravel nỗ lực mang đến trải nghiệm phát triển tuyệt vời đồng thời cung cấp các tính năng mạnh mẽ như dependency injection toàn diện, lớp trừu tượng database giàu biểu đạt, queues và scheduled jobs, unit testing và integration testing, cùng nhiều thứ khác.
Dù bạn mới làm quen với PHP web framework hay đã có nhiều năm kinh nghiệm, Laravel là framework có thể phát triển cùng bạn. Chúng tôi sẽ giúp bạn bước những bước đầu tiên trong vai trò web developer hoặc tiếp thêm động lực khi bạn nâng chuyên môn lên tầm cao mới.
Tại sao chọn Laravel? (Why Laravel?)
Có rất nhiều công cụ và framework khác nhau để bạn lựa chọn khi xây dựng ứng dụng web. Tuy nhiên, chúng tôi tin rằng Laravel là lựa chọn tốt nhất để xây dựng ứng dụng web full-stack hiện đại.
Framework phát triển dần (Progressive Framework)
Chúng tôi thường gọi Laravel là framework "progressive" (phát triển dần). Điều đó có nghĩa là Laravel phát triển cùng bạn. Nếu bạn mới bắt đầu làm quen với phát triển web, thư viện tài liệu khổng lồ, các hướng dẫn và video tutorials của Laravel sẽ giúp bạn nắm bắt kiến thức mà không bị quá tải.
Nếu bạn là developer cấp cao, Laravel cung cấp các công cụ mạnh mẽ cho dependency injection, unit testing, queues, real-time events và nhiều hơn nữa. Laravel được tinh chỉnh để xây dựng ứng dụng web chuyên nghiệp và sẵn sàng xử lý khối lượng công việc cấp doanh nghiệp (enterprise).
Framework có khả năng mở rộng (Scalable Framework)
Laravel có khả năng mở rộng đáng kinh ngạc. Nhờ bản chất thân thiện với việc mở rộng (scaling) của PHP và hỗ trợ tích hợp sẵn của Laravel cho các hệ thống cache phân tán, nhanh chóng như Redis, việc mở rộng theo chiều ngang (horizontal scaling) với Laravel trở nên vô cùng dễ dàng. Thực tế, các ứng dụng Laravel đã được mở rộng dễ dàng để xử lý hàng trăm triệu requests mỗi tháng.
Cần mở rộng ở quy mô cực lớn? Các nền tảng như Laravel Cloud cho phép bạn chạy ứng dụng Laravel ở quy mô gần như không giới hạn.
Framework sẵn sàng cho AI Agent (Agent Ready Framework)
Các quy ước có chủ đích (opinionated conventions) và cấu trúc rõ ràng của Laravel khiến nó trở thành framework lý tưởng cho phát triển với AI bằng các công cụ như Cursor và Claude Code. Khi bạn yêu cầu AI agent thêm một controller, nó biết chính xác nơi đặt file. Khi bạn cần migration mới, quy tắc đặt tên và vị trí file đều có thể dự đoán được. Sự nhất quán này loại bỏ những phỏng đoán thường khiến công cụ AI gặp khó khăn trong các framework linh hoạt hơn.
Ngoài việc tổ chức file, cú pháp biểu đạt và tài liệu toàn diện của Laravel cung cấp cho AI agents ngữ cảnh cần thiết để tạo ra code chính xác, đúng phong cách. Các tính năng như Eloquent relationships, form requests và middleware tuân theo các pattern mà agents có thể hiểu và tái tạo một cách đáng tin cậy. Kết quả là code do AI tạo ra trông như được viết bởi một Laravel developer giàu kinh nghiệm, chứ không phải ghép nối từ các đoạn PHP chung chung.
Để tìm hiểu thêm về lý do Laravel là lựa chọn hoàn hảo cho phát triển với AI, hãy xem tài liệu về phát triển với AI Agent.
Framework cộng đồng (Community Framework)
Laravel kết hợp các package tốt nhất trong hệ sinh thái PHP để cung cấp framework mạnh mẽ và thân thiện nhất với developer. Ngoài ra, hàng ngàn developer tài năng từ khắp nơi trên thế giới đã đóng góp vào framework. Biết đâu, bạn cũng sẽ trở thành một contributor của Laravel.
Tạo ứng dụng Laravel (Creating a Laravel Application)
Cài đặt PHP và Laravel Installer
Trước khi tạo ứng dụng Laravel đầu tiên, hãy đảm bảo máy tính của bạn đã cài đặt PHP, Composer và Laravel installer. Ngoài ra, bạn nên cài đặt Node và NPM hoặc Bun để biên dịch các tài nguyên frontend.
Nếu chưa cài PHP và Composer, các lệnh sau sẽ cài đặt PHP, Composer và Laravel installer trên macOS, Windows hoặc Linux:
macOS:
bash
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"Windows (chạy với quyền Administrator):
powershell
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4'))Linux:
bash
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"Sau khi chạy một trong các lệnh trên, bạn nên khởi động lại phiên terminal. Để cập nhật PHP, Composer và Laravel installer sau khi cài qua php.new, bạn có thể chạy lại lệnh trong terminal:
bash
php.newNếu đã có sẵn PHP và Composer, bạn có thể cài Laravel installer thông qua Composer:
bash
composer global require laravel/installerĐể có trải nghiệm cài đặt và quản lý PHP đầy đủ với giao diện đồ họa, hãy xem phần Laravel Herd.
Tạo ứng dụng (Creating an Application)
Sau khi cài đặt PHP, Composer và Laravel installer, bạn đã sẵn sàng tạo ứng dụng Laravel mới. Laravel installer sẽ yêu cầu bạn chọn testing framework, database và starter kit ưa thích:
bash
laravel new example-appSau khi ứng dụng được tạo, bạn có thể khởi động development server cục bộ, queue worker và Vite development server bằng Composer script dev:
bash
cd example-app
npm install && npm run build
composer run devSau khi khởi động development server, ứng dụng sẽ truy cập được tại http://localhost:8000. Tiếp theo, bạn đã sẵn sàng bắt đầu các bước tiếp theo trong hệ sinh thái Laravel. Tất nhiên, bạn cũng có thể muốn cấu hình database.
Nếu muốn có một khởi đầu nhanh hơn, hãy xem xét sử dụng starter kits. Starter kits của Laravel cung cấp scaffolding xác thực (authentication) cho backend và frontend trong ứng dụng mới.
Cấu hình ban đầu (Initial Configuration)
Tất cả file cấu hình của Laravel framework được lưu trong thư mục config. Mỗi tùy chọn đều được ghi chú (documented), vì vậy hãy thoải mái xem qua các file và làm quen với các tùy chọn có sẵn.
Laravel gần như không cần thêm cấu hình nào. Bạn có thể bắt đầu phát triển ngay! Tuy nhiên, bạn có thể muốn xem lại file config/app.php và tài liệu của nó. Nó chứa một số tùy chọn như url và locale mà bạn có thể muốn thay đổi theo ứng dụng.
Cấu hình dựa trên môi trường (Environment Based Configuration)
Vì nhiều giá trị cấu hình của Laravel có thể thay đổi tùy thuộc vào việc ứng dụng đang chạy trên máy cục bộ hay trên server production, nhiều giá trị cấu hình quan trọng được định nghĩa trong file .env tại thư mục gốc ứng dụng.
File .env không nên được commit vào source control, vì mỗi developer/server sử dụng ứng dụng có thể cần cấu hình môi trường khác nhau. Hơn nữa, đây sẽ là rủi ro bảo mật nếu kẻ xâm nhập truy cập được repository source control, vì mọi thông tin nhạy cảm (credentials) sẽ bị lộ.
GỢI Ý
Để biết thêm thông tin về file .env và cấu hình dựa trên môi trường, hãy xem tài liệu cấu hình đầy đủ.
Databases và Migrations
Sau khi tạo ứng dụng Laravel, có lẽ bạn muốn lưu trữ dữ liệu trong database. Mặc định, file cấu hình .env của ứng dụng chỉ định rằng Laravel sẽ tương tác với database SQLite.
Trong quá trình tạo ứng dụng, Laravel đã tạo sẵn file database/database.sqlite và chạy các migrations cần thiết để tạo bảng database.
Nếu bạn muốn sử dụng database driver khác như MySQL hoặc PostgreSQL, hãy cập nhật file cấu hình .env để sử dụng database phù hợp. Ví dụ, nếu muốn dùng MySQL, cập nhật các biến DB_* trong file .env:
ini
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=Nếu chọn database khác SQLite, bạn cần tạo database và chạy database migrations:
bash
php artisan migrateGỢI Ý
Nếu đang phát triển trên macOS hoặc Windows và cần cài MySQL, PostgreSQL hoặc Redis cục bộ, hãy xem xét sử dụng Herd Pro hoặc DBngin.
Cấu hình thư mục (Directory Configuration)
Laravel luôn phải được phục vụ (served) từ thư mục gốc của "web directory" được cấu hình cho web server. Bạn không nên cố gắng phục vụ ứng dụng Laravel từ thư mục con của "web directory". Làm như vậy có thể làm lộ các file nhạy cảm trong ứng dụng.
Cài đặt bằng Herd (Installation Using Herd)
Laravel Herd là môi trường phát triển Laravel và PHP nhanh chóng, hoạt động native trên macOS và Windows. Herd bao gồm mọi thứ cần thiết để bắt đầu phát triển Laravel, bao gồm PHP và Nginx.
Sau khi cài đặt Herd, bạn đã sẵn sàng phát triển với Laravel. Herd bao gồm các công cụ dòng lệnh cho php, composer, laravel, expose, node, npm và nvm.
Herd Pro bổ sung thêm các tính năng mạnh mẽ, như khả năng tạo và quản lý database MySQL, Postgres và Redis cục bộ, cũng như xem email và giám sát log cục bộ.
Herd trên macOS
Nếu phát triển trên macOS, bạn có thể tải trình cài đặt Herd từ trang chủ Herd. Trình cài đặt tự động tải phiên bản PHP mới nhất và cấu hình Mac luôn chạy Nginx trong nền.
Herd cho macOS sử dụng dnsmasq để hỗ trợ các thư mục "parked". Bất kỳ ứng dụng Laravel nào trong thư mục parked sẽ tự động được Herd phục vụ. Mặc định, Herd tạo thư mục parked tại ~/Herd và bạn có thể truy cập bất kỳ ứng dụng nào trong thư mục này trên domain .test bằng tên thư mục.
Sau khi cài Herd, cách nhanh nhất để tạo ứng dụng Laravel mới là dùng Laravel CLI, được đi kèm với Herd:
bash
cd ~/Herd
laravel new my-app
cd my-app
herd openBạn luôn có thể quản lý thư mục parked và các cài đặt PHP khác qua giao diện Herd, có thể mở từ menu Herd trong system tray.
Herd trên Windows
Bạn có thể tải trình cài đặt Windows cho Herd trên trang chủ Herd. Sau khi cài đặt xong, bạn có thể khởi động Herd để hoàn thành quá trình onboarding và truy cập giao diện Herd lần đầu tiên.
Giao diện Herd có thể truy cập bằng cách click chuột trái vào biểu tượng Herd trong system tray. Click chuột phải mở menu nhanh với truy cập đến tất cả công cụ cần thiết hàng ngày.
Trong quá trình cài đặt, Herd tạo thư mục "parked" trong thư mục home tại %USERPROFILE%\Herd. Bất kỳ ứng dụng Laravel nào trong thư mục parked sẽ tự động được Herd phục vụ, và bạn có thể truy cập trên domain .test bằng tên thư mục.
Sau khi cài Herd, cách nhanh nhất để tạo ứng dụng Laravel mới — mở Powershell và chạy:
powershell
cd ~\Herd
laravel new my-app
cd my-app
herd openHỗ trợ IDE (IDE Support)
Bạn có thể sử dụng bất kỳ trình soạn thảo nào khi phát triển ứng dụng Laravel. Nếu đang tìm trình soạn thảo nhẹ và có thể mở rộng, VS Code hoặc Cursor kết hợp với Laravel VS Code Extension chính thức cung cấp hỗ trợ Laravel tuyệt vời với các tính năng như syntax highlighting, snippets, tích hợp Artisan command và smart autocompletion cho Eloquent models, routes, middleware, assets, config và Inertia.js.
Để có hỗ trợ toàn diện và mạnh mẽ cho Laravel, hãy xem xét PhpStorm, một IDE của JetBrains. Hỗ trợ Laravel tích hợp sẵn trong PhpStorm bao gồm Blade templates, smart autocompletion cho Eloquent models, routes, views, translations và components, cùng với khả năng tạo code và điều hướng trong các dự án Laravel.
Đối với những ai tìm kiếm trải nghiệm phát triển trên cloud, Firebase Studio cung cấp truy cập tức thời để xây dựng với Laravel trực tiếp trong trình duyệt. Không cần cài đặt gì, Firebase Studio giúp bạn dễ dàng bắt đầu xây dựng ứng dụng Laravel từ bất kỳ thiết bị nào.
Laravel và AI (Laravel and AI)
Laravel Boost là công cụ mạnh mẽ kết nối các AI coding agents với ứng dụng Laravel. Boost cung cấp cho AI agents ngữ cảnh, công cụ và hướng dẫn cụ thể cho Laravel để chúng có thể tạo code chính xác hơn, tuân theo quy ước Laravel và cụ thể theo phiên bản.
Khi cài đặt Boost trong ứng dụng Laravel, AI agents có quyền truy cập vào hơn 15 công cụ chuyên biệt bao gồm khả năng biết bạn đang sử dụng package nào, truy vấn database, tìm kiếm tài liệu Laravel, đọc log trình duyệt, tạo test và thực thi code qua Tinker.
Ngoài ra, Boost cung cấp cho AI agents quyền truy cập vào hơn 17.000 mảnh tài liệu vectorized của hệ sinh thái Laravel, cụ thể cho phiên bản package đang cài đặt. Điều này có nghĩa agents có thể cung cấp hướng dẫn chính xác theo phiên bản mà dự án đang sử dụng.
Boost cũng bao gồm các AI guidelines do Laravel duy trì, giúp agents tuân theo quy ước framework, viết test phù hợp và tránh các lỗi phổ biến khi tạo code Laravel.
Cài đặt Laravel Boost (Installing Laravel Boost)
Boost có thể được cài đặt trong ứng dụng Laravel 10, 11 và 12 chạy PHP 8.1 trở lên. Để bắt đầu, cài Boost như một development dependency:
bash
composer require laravel/boost --devSau khi cài đặt, chạy trình cài đặt tương tác:
bash
php artisan boost:installTrình cài đặt sẽ tự động phát hiện IDE và AI agents của bạn, cho phép bạn chọn các tính năng phù hợp với dự án. Boost tôn trọng các quy ước hiện có của dự án và không ép buộc các quy tắc style mang tính chủ quan theo mặc định.
Để tìm hiểu thêm về Boost, xem Laravel Boost repository trên GitHub.
Thêm hướng dẫn AI tùy chỉnh (Adding Custom AI Guidelines)
Để bổ sung cho Laravel Boost với hướng dẫn AI tùy chỉnh của riêng bạn, thêm file .blade.php hoặc .md vào thư mục .ai/guidelines/* trong ứng dụng. Các file này sẽ tự động được đính kèm với hướng dẫn của Laravel Boost khi bạn chạy boost:install.
Các bước tiếp theo (Next Steps)
Bây giờ bạn đã tạo xong ứng dụng Laravel, có thể bạn đang tự hỏi nên học gì tiếp. Trước tiên, chúng tôi đặc biệt khuyên bạn nên làm quen với cách Laravel hoạt động bằng cách đọc các tài liệu sau:
Cách bạn muốn sử dụng Laravel cũng sẽ quyết định các bước tiếp theo trong hành trình. Có nhiều cách khác nhau để sử dụng Laravel, và chúng tôi sẽ khám phá hai trường hợp sử dụng chính dưới đây.
Laravel — Framework Full Stack
Laravel có thể đóng vai trò framework full stack. "Full stack" nghĩa là bạn sử dụng Laravel để xử lý routing requests và render frontend thông qua Blade templates hoặc công nghệ hybrid single-page application (SPA) như Inertia. Đây là cách phổ biến nhất để sử dụng Laravel, và theo ý kiến của chúng tôi, cũng là cách hiệu quả nhất.
Nếu đây là cách bạn dự định sử dụng Laravel, hãy xem tài liệu về phát triển frontend, routing, views hoặc Eloquent ORM. Ngoài ra, bạn có thể quan tâm đến các community packages như Livewire và Inertia.
Nếu sử dụng Laravel như framework full stack, chúng tôi cũng đặc biệt khuyến khích bạn tìm hiểu cách biên dịch CSS và JavaScript bằng Vite.
GỢI Ý
Nếu muốn khởi đầu nhanh, hãy xem application starter kits chính thức.
Laravel — API Backend
Laravel cũng có thể đóng vai trò API backend cho ứng dụng JavaScript single-page hoặc ứng dụng mobile. Ví dụ, bạn có thể sử dụng Laravel làm API backend cho ứng dụng Next.js. Trong trường hợp này, bạn có thể dùng Laravel để cung cấp authentication và lưu trữ/truy xuất dữ liệu, đồng thời tận dụng các dịch vụ mạnh mẽ của Laravel như queues, emails, notifications và nhiều hơn nữa.
Nếu đây là cách bạn dự định sử dụng Laravel, hãy xem tài liệu về routing, Laravel Sanctum và Eloquent ORM.