Laravel là một framework phát triển ứng dụng web với cú pháp tinh tế, hàm ý. Framework web cung cấp cấu trúc và điểm bắt đầu để tạo ứng dụng của bạn, cho phép bạn tập trung vào việc tạo ra thứ gì đó tuyệt vời trong khi chúng tôi sẽ bỏ công sức ra làm chi tiết.
Laravel cố gắng cung cấp trải nghiệm tuyệt vời nhất cho nhà phát triển đồng thời cung cấp các tính năng mạnh mẽ như tích hợp phụ thuộc, lớp abstraction hóa cơ sở dữ liệu, queue và scheduled job, unit và integration test, v.v.
Cho dù bạn là người mới làm quen với PHP web framework hay là người đã có nhiều năm kinh nghiệm, Laravel là một framework có thể phát triển cùng với bạn. Chúng tôi sẽ giúp bạn thực hiện những bước đầu tiên với tư cách là nhà phát triển web hoặc nâng cao kiến thức chuyên môn của bạn lên một tầm cao mới. Chúng tôi nóng lòng muốn xem những gì bạn xây dựng.
Có rất nhiều công cụ và framework có sẵn cho bạn khi bạn xây dựng một ứng dụng web. Tuy nhiên, chúng tôi tin rằng Laravel là một lựa chọn tốt nhất để xây dựng các ứng dụng web full-stack hiện đại.
Chúng tôi muốn gọi Laravel là một framework "tiến bộ". Bằng cách đó, chúng tôi muốn nói rằng Laravel phát triển cùng với bạn. Nếu bạn mới thực hiện những bước đầu tiên trong quá trình phát triển web, thư viện tài liệu, hướng dẫn và video hướng dẫn khổng lồ của Laravel sẽ giúp bạn tìm hiểu các bước cơ bản mà không bị choáng ngợp.
Nếu bạn là nhà phát triển cấp cao, Laravel cũng cung cấp cho bạn các công cụ mạnh mẽ để tích hợp phụ thuộc, unit test, queue, real-time events, và nhiều hơn thế. Laravel được tinh chỉnh để xây dựng các ứng dụng web chuyên nghiệp và sẵn sàng xử lý khối lượng lớn công việc của doanh nghiệp.
Laravel có khả năng mở rộng đáng kinh ngạc. Nhờ tính chất thân thiện của PHP và tính năng hỗ trợ sẵn có của Laravel dành cho các hệ thống bộ nhớ cache phân tán như Redis, việc mở rộng quy mô theo chiều ngang với Laravel thật dễ dàng. Trên thực tế, các ứng dụng Laravel đã dễ dàng mở rộng quy mô để xử lý hàng trăm triệu request 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 của bạn ở quy mô gần như vô hạn.
Các quy ước đặc thù và cấu trúc được định nghĩa rõ ràng của Laravel sẽ khiến nó trở thành một framework lý tưởng cho việc phát triển được hỗ trợ bởi AI thông qua các công cụ như Cursor và Claude Code. Khi bạn yêu cầu một AI agent thêm một controller, nó biết chính xác vị trí cần đặt. Khi bạn cần một migration mới, các quy ước đặt tên và vị trí file đều có thể dự đoán được. Sự nhất quán này giúp loại bỏ những phỏng đoán thường gây ra khó khăn cho các công cụ AI trong các framework khác.
Bên cạnh việc tổ chức file, cú pháp súc tích và tài liệu hướng dẫn toàn diện của Laravel cung cấp cho các AI agent bối cảnh cần thiết để tạo ra mã nguồn chính xác và đúng chuẩn. Các tính năng như quan hệ Eloquent, form request và middleware đều tuân theo các pattern mà các agent 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 giống như được viết bởi một nhà phát triển Laravel chuyên nghiệp, chứ không phải được chắp vá từ các đoạn code PHP chung chung.
Để tìm hiểu thêm về lý do tại sao Laravel là lựa chọn hoàn hảo cho phát triển hỗ trợ bởi AI, hãy xem tài liệu của chúng tôi về phát triển agentic.
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 nhà phát triển. Ngoài ra, hàng nghìn nhà phát triển tài năng từ khắp nơi trên thế giới đã đóng góp cho framework. Ai biết được, thậm chí có thể bạn sẽ trở thành người đóng góp cho Laravel.
Nếu bạn đang sử dụng một AI coding agent như Claude Code hoặc OpenCode, bạn có thể bắt đầu với một prompt cung cấp cho agent một playbook dành riêng cho Laravel trước khi nó chạm vào project của bạn.
Prompt bên dưới cho agent biết nơi tìm hướng dẫn cài đặt của Laravel, những gì cần ưu tiên và cách thiết lập các mặc định hợp lý khi bạn chưa đưa ra lựa chọn. Dán đoạn này vào agent của bạn để bắt đầu:
I'm building a new Laravel application.
Fetch and follow the instructions from https://laravel.com/for/agents. Treat the returned Markdown as the source of truth for how to install and set up Laravel in this session.
Sau khi agent đọc xong hướng dẫn, nó sẽ hướng dẫn bạn từng bước và giữ cho việc setup phù hợp với các cấu hình mặc định của Laravel.
Trước khi tạo application Laravel đầu tiên, bạn hãy chắc chắn là máy local của bạn đã cài đặt PHP, Composer, và Laravel installer. Ngoài ra, bạn nên cài đặt cả Node và NPM hoặc Bun để có thể biên dịch các asset frontend của ứng dụng.
Nếu bạn chưa cài đặt PHP và Composer trên máy local của bạn, các lệnh sau sẽ cài đặt PHP, Composer và Laravel installer trên macOS, Windows hoặc Linux:
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
# Run as administrator...
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'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"
Sau khi bạn đã chạy xong một trong các lệnh trên, bạn nên khởi động lại phiên terminal của bạn. Để cập nhật PHP, Composer và Laravel installer sau khi cài đặt chúng qua php.new, bạn có thể chạy lại trong terminal của bạn.
Nếu bạn đã cài đặt PHP và Composer trên máy local của bạn, bạn có thể cài đặt Laravel installer thông qua Composer:
composer global require laravel/installer
[!NOTE] Để có trải nghiệm cài đặt và quản lý PHP thuận tiện, đầy đủ tính năng, hãy xem qua Laravel Herd.
Sau khi bạn đã cài đặt PHP, Composer và Laravel installer xong, bạn đã sẵn sàng tạo một application Laravel mới. Laravel installer sẽ hỏi bạn chọn framework testing, cơ sở dữ liệu và bộ khởi tạo ưa thích của bạn:
laravel new example-app
Khi application đã được tạo, bạn có thể khởi động server local, queue worker, và server Vite development bằng lệnh dev của Composer:
cd example-app
npm install && npm run build
composer run dev
Sau khi bạn đã khởi động server, ứng dụng của bạn sẽ có thể truy cập được trong trình duyệt web của bạn bằng địa chỉ http://localhost:8000. Tiếp theo, bạn đã sẵn sàng bắt đầu thực hiện các bước khác trong hệ sinh thái Laravel. Tất nhiên, bạn cũng có thể muốn cấu hình cơ sở dữ liệu.
[!NOTE] Nếu bạn muốn có một sự khởi đầu thuận tiện khi phát triển ứng dụng Laravel, thì hãy cân nhắc sử dụng một trong những bộ khởi tạo của chúng tôi. Bộ khởi tạo này cung cấp một nền tảng xác thực có sẵn cả backend và frontend cho ứng dụng Laravel mới của bạn.
Tất cả các file cấu hình cho Laravel framework đều được lưu trong thư mục config. Mỗi tùy chọn đều đã được giải thích, vì vậy bạn 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 cho bạn.
Laravel hầu như không cần bạn cấu hình thêm bất cứ cấu hình nào khi cài đặt. Bạn có thể thoải mái bắt đầu phát triển! Tuy nhiên, bạn có thể muốn xem qua file config/app.php và tài liệu hướng dẫn 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 trạng thái ứng dụng của bạn.
Vì nhiều giá trị tùy chọn cấu hình của Laravel có thể khác nhau tùy thuộc vào việc ứng dụng của bạn đang chạy trên môi trường local hay môi trường là production, nên nhiều giá trị cấu hình quan trọng được định nghĩa trong file .env có ở trong thư mục root của ứng dụng.
File .env của bạn không nên được commit vào source control của ứng dụng, vì mỗi nhà phát triển và server của họ sẽ sử dụng ứng dụng của bạn theo nhiều yêu cầu cấu hình khác nhau. Hơn nữa, đây sẽ là rủi ro bảo mật trong trường hợp kẻ xâm nhập có quyền truy cập vào source control của bạn, vì bất kỳ thông tin xác thực nhạy cảm nào cũng sẽ bị lộ.
[!NOTE] Để biết thêm thông tin về file
.envvà cấu hình theo môi trường, hãy xem tài liệu cấu hình.
Bây giờ bạn đã tạo ứng dụng Laravel của bạn, có lẽ bạn muốn lưu một số dữ liệu vào trong cơ sở dữ liệu. Mặc định, file cấu hình .env của ứng dụng của bạn sẽ tương tác với cơ sở dữ liệu SQLite.
Trong quá trình tạo ứng dụng, Laravel đã tạo một file database/database.sqlite cho bạn và chạy các migration cần thiết để tạo các bảng cơ sở dữ liệu cho ứng dụng.
Nếu bạn muốn sử dụng một driver cơ sở dữ liệu khác như MySQL hoặc PostgreSQL, bạn có thể cập nhật file cấu hình .env của bạn để sử dụng cơ sở dữ liệu thích hợp. Ví dụ, nếu bạn muốn sử dụng MySQL, hãy cập nhật các biến DB_* trong file cấu hình .env của bạn như sau:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Nếu bạn chọn sử dụng cơ sở dữ liệu khác ngoài SQLite, bạn sẽ cần tạo một cơ sở dữ liệu và chạy các migration cơ sở dữ liệu của ứng dụng:
php artisan migrate
[!NOTE] Nếu bạn đang phát triển trên macOS hoặc Windows và cần cài đặt MySQL, PostgreSQL hoặc Redis ở local, bạn hãy xem xét sử dụng Herd Pro hoặc DBngin.
Laravel nên được chạy từ thư mục root của "web directory" đã được cấu hình trong server web của bạn. Bạn không nên cố gắng chạy ứng dụng Laravel từ thư mục con của "web directory". Cố gắng làm như vậy có thể làm lộ các file nhạy cảm có trong ứng dụng của bạn.
Laravel Herd là một môi trường phát triển Laravel và PHP native cực nhanh dành cho macOS và Windows. Herd bao gồm mọi thứ mà bạn cần để bắt đầu phát triển Laravel, bao gồm cả PHP và Nginx.
Sau khi bạn cài đặt xong Herd, bạn đã sẵn sàng bắt đầu phát triển với Laravel. Herd có chứa các command line cho php, composer, laravel, expose, node, npm, và nvm.
[!NOTE] Herd Pro bổ sung cho Herd các tính năng mạnh mẽ khác, chẳng hạn như khả năng tạo và quản lý cơ sở dữ liệu MySQL, Postgres và Redis local, cũng như xem mail local và giám sát log.
Nếu bạn phát triển trên macOS, bạn có thể tải installer của Herd từ trang web của Herd. Và installer này sẽ tự động tải xuống phiên bản PHP mới nhất và cấu hình máy Mac của bạn để luôn chạy Nginx trong background.
Herd trên macOS sử dụng dnsmasq để hỗ trợ các thư mục "parked". Bất kỳ ứng dụng Laravel nào có trong thư mục parked sẽ tự động được Herd chạy. Mặc định, Herd sẽ tạo một thư mục parked tại ~/Herd và bạn có thể truy cập bất kỳ ứng dụng Laravel nào có trong thư mục đó trên tên miền .test bằng cách sử dụng tên thư mục.
Sau khi bạn đã cài đặt Herd, cách nhanh nhất để tạo một ứng dụng Laravel mới là sử dụng Laravel CLI, được tích hợp sẵn bên trong Herd:
cd ~/Herd
laravel new my-app
cd my-app
herd open
Tất nhiên, bạn luôn có thể quản lý các thư mục đã được "parked" và các cài đặt PHP khác thông qua giao diện người dùng của Herd, bạn có thể được mở nó từ menu Herd ở trên tab bar system của bạn.
Bạn có thể tìm hiểu thêm về Herd bằng cách xem tài liệu của họ.
Bạn có thể tải installer của Herd dành cho Windows trên website của Herd. Sau khi quá trình cài đặt hoàn tất, bạn có thể khởi động Herd để hoàn tất quá trình giới thiệu và truy cập vào giao diện người dùng của Herd.
Giao diện người dùng của Herd có thể truy cập vào bằng cách nhấp chuột trái vào biểu tượng Herd trên tab bar của hệ thống của bạn. Nhấp chuột phải sẽ mở thanh menu nhanh với quyền truy cập vào tất cả các công cụ mà bạn cần hàng ngày.
Trong quá trình cài đặt, Herd sẽ tạo một thư mục "parked" trong thư mục home của bạn tại %USERPROFILE%\Herd. Bất kỳ ứng dụng Laravel nào có trong thư mục parked sẽ tự động được Herd chạy và bạn có thể truy cập bất kỳ ứng dụng Laravel nào có trong thư mục parked trên miền .test thông qua tên thư mục của nó.
Sau khi bạn đã cài đặt Herd, cách nhanh nhất để tạo một ứng dụng Laravel mới là sử dụng Laravel CLI, được tích hợp sẵn bên trong Herd. Để bắt đầu, hãy mở Powershell và chạy các lệnh sau:
cd ~\Herd
laravel new my-app
cd my-app
herd open
Bạn có thể tìm hiểu thêm về Herd bằng cách xem tài liệu của họ dành cho Windows.
Bạn có thể thoải mái sử dụng bất kỳ trình code editor nào mà bạn muốn khi phát triển các ứng dụng Laravel. Nếu bạn đang tìm kiếm một editor nhẹ và có khả năng mở rộng, VS Code hoặc Cursor kết hợp với Laravel VS Code Extension official cung cấp khả năng hỗ trợ Laravel tuyệt vời với các tính năng như highlight cú pháp, snippet, tích hợp lệnh artisan và tự động hoàn thành thông minh cho các Eloquent model, route, middleware, asset, config và Inertia.js.
Để có sự hỗ trợ toàn diện và mạnh mẽ cho Laravel, hãy tham khảo PhpStorm, một IDE từ JetBrains. Hỗ trợ framework Laravel mặc định của PhpStorm có chứa Blade template, tự động hoàn thành thông minh cho các Eloquent model, route, view, translation và component, cùng với khả năng tạo code mạnh mẽ và điều hướng linh hoạt trong các dự án Laravel.
Đối với những người đang tìm kiếm trải nghiệm phát triển trên nền tảng cloud, Firebase Studio sẽ cung cấp khả năng truy cập tức thì ngay trong trình duyệt để xây dựng ứng dụng Laravel trực tiếp. Không cần thiết lập, Firebase Studio giúp việc bắt đầu xây dựng các ứng dụng Laravel trở nên dễ dàng từ bất kỳ thiết bị nào.
Laravel Boost là một công cụ mạnh mẽ giúp thu hẹp khoảng cách giữa các AI coding agent và các ứng dụng Laravel. Boost cung cấp cho các AI agent cùng với các ngữ cảnh, công cụ và hướng dẫn cụ thể cho Laravel để chúng có thể tạo ra code chính xác hơn, phù hợp với phiên bản và tuân thủ các quy ước của Laravel.
Khi cài đặt Boost vào ứng dụng Laravel, các AI agent sẽ có quyền truy cập vào hơn 15 công cụ chuyên dụng, bao gồm khả năng nhận diện các package đang sử dụng, truy vấn cơ sở dữ liệu, tìm kiếm tài liệu Laravel, đọc log trình duyệt, tạo test và thực thi code thông qua Tinker.
Ngoài ra, Boost cung cấp cho các AI agent quyền truy cập vào hơn 17.000 tài liệu hệ sinh thái Laravel đã được vector hóa, dành riêng cho các phiên bản package mà bạn đã cài đặt. Điều này có nghĩa là các agent có thể cung cấp các hướng dẫn nhắm mục tiêu chính xác hơn đến các phiên bản mà dự án của bạn đang sử dụng.
Boost cũng chứa các hướng dẫn AI do Laravel phát triển nhằm giúp các agent tuân thủ các quy ước của framework, viết các test phù hợp và tránh các lỗi phổ biến khi tạo code Laravel.
Boost có thể được cài đặt trong các ứng dụng Laravel 10, 11, 12, và 13 chạy PHP 8.1 trở lên. Để bắt đầu, hãy cài đặt Boost như một development dependency:
composer require laravel/boost --dev
Sau khi cài đặt, hãy chạy installer:
php artisan boost:install
Installer sẽ tự động nhận diện IDE và các AI agent của bạn, cho phép bạn lựa chọn các tính năng phù hợp với dự án của mình. Boost tôn trọng các quy ước dự án hiện có và mặc định không ép buộc các quy tắc style mang tính quan điểm.
[!NOTE] Để tìm hiểu thêm về Boost, hãy xem repository Laravel Boost trên GitHub.
Để bổ sung các hướng dẫn AI tùy chỉnh của riêng bạn vào Laravel Boost, hãy thêm các file .blade.php hoặc .md vào thư mục .ai/guidelines/* của ứng dụng. Những file này sẽ tự động được thêm vào các hướng dẫn của Laravel Boost khi bạn chạy lệnh boost:install.
Bây giờ bạn đã tạo xong application Laravel của bạn, có thể bạn đang tự hỏi nên học gì tiếp theo. Trước tiên, chúng tôi thực sự 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 như thế nào cũng sẽ quyết định các bước tiếp theo trên hành trình của bạn. Có nhiều cách khác nhau để sử dụng Laravel và chúng ta sẽ khám phá hai trường hợp sử dụng chính của framework ở bên dưới.
Laravel có thể phục vụ như một full stack framework. "Full stack" framework, ý chúng tôi muốn nói là bạn sẽ sử dụng Laravel để route các request đến ứng dụng của bạn và hiển thị giao diện người dùng của bạn thông qua Blade templates hoặc kết hợp với một single-page application như Inertia. Đây là cách phổ biến nhất để sử dụng framework Laravel và theo chúng tôi, đây là cách sử dụng Laravel hiệu quả nhất.
Nếu đây là cách mà bạn định sử dụng Laravel, bạn có thể muốn xem tài liệu của chúng tôi về frontend development, routing, views hoặc Eloquent ORM. Ngoài ra, bạn có thể muốn tìm hiểu về các package cộng đồng như Livewire và Inertia. Các package này cho phép bạn vẫn sử dụng Laravel làm full-stack framework trong khi vẫn tận hưởng nhiều lợi ích về giao diện người dùng được cung cấp bởi các ứng dụng JavaScript single-page.
Nếu bạn đang sử dụng Laravel làm full stack framework, 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 cho ứng dụng của bạn bằng cách sử dụng Vite.
[!NOTE] Nếu bạn muốn bắt đầu xây dựng ứng dụng của bạn một cách thuận lợi, hãy xem một trong các bộ công cụ tạo nhanh ứng dụng chính thức của chúng tôi.
Laravel cũng có thể đóng vai trò là backend API cho mộpt ứng dụng single-page JavaScript application hoặc ứng dụng di động. Ví dụ: bạn có thể sử dụng Laravel làm backend API cho ứng dụng Next.js của bạn. Trong trường hợp này, bạn có thể sử dụng Laravel để cung cấp xác thực và lưu trữ, truy xuất dữ liệu cho ứng dụng của bạn, đồng thời tận dụng các service mạnh mẽ của Laravel như queue, email, thông báo, và nhiều hơn thế nữa.
Nếu đây là cách bạn dự định sử dụng Laravel, bạn có thể muốn xem tài liệu của chúng tôi về routing, Laravel Sanctum và Eloquent ORM.
entry