Hầu hết các tuyến cho ứng dụng của bạn sẽ được xác định trong tệp
Route::any('foo', function()
2. Laravel route đơn giản nhất bao gồm một URI và một Closure callbackLộ trình GET cơ bản
Route::get('/', function()
Lộ trình POST cơ bản
Route::post('foo/bar', function()
Đăng ký một lộ trình cho nhiều động từ
Route::match(array('GET', 'POST'), '/', function()
Đăng ký một tuyến phản hồi với bất kỳ động từ HTTP nào
Route::any('foo', function()
Buộc một tuyến đường được phục vụ qua HTTPS
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
Thông thường, bạn sẽ cần tạo URL cho các tuyến đường của mình, bạn có thể làm như vậy bằng cách sử dụng phương thức
Route::any('foo', function()
3Tham số tuyến đường
Route::get('user/{id}', function($id)
Tham số tuyến đường tùy chọn
________số 8Tham số tuyến đường tùy chọn với giá trị mặc định
Route::get('user/{name?}', function($name = 'John')
Ràng buộc lộ trình biểu thức chính quy
Route::get('/', function()
0Đi qua một mảng của Wheres
Tất nhiên, bạn có thể vượt qua một loạt các ràng buộc khi cần thiết
Route::get('/', function()
1Xác định các mẫu toàn cầu
Nếu bạn muốn một tham số định tuyến luôn bị ràng buộc bởi một biểu thức chính quy nhất định, bạn có thể sử dụng phương thức
Route::any('foo', function()
4Route::post('foo/bar', function()
0Truy cập giá trị tham số tuyến đường
Nếu bạn cần truy cập giá trị tham số tuyến đường bên ngoài tuyến đường, bạn có thể sử dụng phương thức
Route::any('foo', function()
5Route::post('foo/bar', function()
1Bộ lọc tuyến đường
Bộ lọc tuyến đường cung cấp một cách thuận tiện để giới hạn quyền truy cập vào một tuyến đường nhất định, rất hữu ích để tạo các khu vực trên trang web của bạn yêu cầu xác thực. Có một số bộ lọc được bao gồm trong framework Laravel, bao gồm bộ lọc
Route::any('foo', function()
6, bộ lọcRoute::any('foo', function()
7, bộ lọcRoute::any('foo', function()
8 và bộ lọcRoute::any('foo', function()
9. Chúng nằm trong tệpRoute::get('foo', array('https', function()
return 'Must be over HTTPS';
0Ghi chú. Bộ lọc bị tắt khi môi trường ứng dụng là
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
1
Xác định bộ lọc tuyến đường
Route::post('foo/bar', function()
2Nếu bộ lọc trả về một phản hồi, phản hồi đó được coi là phản hồi cho yêu cầu và tuyến đường sẽ không thực thi. Mọi bộ lọc
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
2 trên tuyến đường cũng bị hủyĐính kèm bộ lọc vào tuyến đường
Route::post('foo/bar', function()
3Gắn bộ lọc vào hành động điều khiển
Đính kèm nhiều bộ lọc vào một tuyến đường
Route::post('foo/bar', function()
4Đính kèm nhiều bộ lọc qua mảng
Route::post('foo/bar', function()
5Chỉ định tham số bộ lọc
Route::post('foo/bar', function()
6Sau khi bộ lọc nhận được
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
3 làm đối số thứ ba được chuyển đến bộ lọcRoute::post('foo/bar', function()
7Bộ lọc dựa trên mẫu
Bạn cũng có thể chỉ định rằng bộ lọc áp dụng cho toàn bộ tập hợp các tuyến đường dựa trên URI của chúng
Route::post('foo/bar', function()
8Trong ví dụ trên, bộ lọc
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
4 sẽ được áp dụng cho tất cả các tuyến đường bắt đầu bằngRoute::get('foo', array('https', function()
return 'Must be over HTTPS';
5. Dấu hoa thị được sử dụng làm ký tự đại diện và sẽ khớp với bất kỳ tổ hợp ký tự nàoBạn cũng có thể hạn chế các bộ lọc mẫu bằng các động từ HTTP
Route::post('foo/bar', function()
9Lớp lọc
Để lọc nâng cao, bạn có thể muốn sử dụng một lớp thay vì Đóng. Vì các lớp bộ lọc được giải quyết ngoài IoC Container của ứng dụng, nên bạn sẽ có thể sử dụng phép nội xạ phụ thuộc trong các bộ lọc này để có khả năng kiểm tra cao hơn
Đăng ký bộ lọc dựa trên lớp
Route::match(array('GET', 'POST'), '/', function()
0Theo mặc định, phương thức
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
6 trên lớpRoute::get('foo', array('https', function()
return 'Must be over HTTPS';
7 sẽ được gọiNếu bạn không muốn sử dụng phương pháp
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
6, chỉ cần chỉ định một phương pháp khácTuyến đường được đặt tên
Các tuyến được đặt tên giúp việc tham chiếu đến các tuyến khi tạo chuyển hướng hoặc URL thuận tiện hơn. Bạn có thể chỉ định tên cho một tuyến đường như vậy
Route::match(array('GET', 'POST'), '/', function()
1Bạn cũng có thể chỉ định tên tuyến đường cho các hành động của bộ điều khiển
Bây giờ, bạn có thể sử dụng tên của tuyến đường khi tạo URL hoặc chuyển hướng
Route::match(array('GET', 'POST'), '/', function()
2Bạn có thể truy cập tên của tuyến đường đang chạy qua phương thức
Route::get('foo', array('https', function()
return 'Must be over HTTPS';
9Route::match(array('GET', 'POST'), '/', function()
3Nhóm tuyến đường
Đôi khi bạn có thể cần áp dụng các bộ lọc cho một nhóm các tuyến đường. Thay vì chỉ định bộ lọc trên mỗi tuyến đường, bạn có thể sử dụng nhóm tuyến đường
Route::match(array('GET', 'POST'), '/', function()
4Bạn cũng có thể sử dụng tham số
Route::get('user/{id}', function($id)
0 trong mảngRoute::get('user/{id}', function($id)
1 của mình để chỉ định tất cả các bộ điều khiển trong nhóm đó nằm trong một không gian tên nhất địnhRoute::match(array('GET', 'POST'), '/', function()
5Định tuyến tên miền phụ
Laravel route cũng có thể xử lý các tên miền con ký tự đại diện và sẽ chuyển các tham số ký tự đại diện của bạn từ tên miền
Đăng ký các tuyến miền phụ
Route::match(array('GET', 'POST'), '/', function()
6Route Prefixing
Một nhóm các tuyến đường có thể được thêm tiền tố bằng cách sử dụng tùy chọn
Route::get('user/{id}', function($id)
2 trong mảng thuộc tính của một nhómRoute::match(array('GET', 'POST'), '/', function()
7Ràng buộc mô hình tuyến đường
Liên kết mô hình cung cấp một cách thuận tiện để đưa các phiên bản mô hình vào các tuyến đường của bạn. Ví dụ: thay vì thêm ID của người dùng, bạn có thể thêm toàn bộ phiên bản mô hình Người dùng khớp với ID đã cho. Đầu tiên, sử dụng phương pháp
Route::get('user/{id}', function($id)
3 để chỉ định mô hình sẽ được sử dụng cho một tham số nhất địnhLiên kết một tham số với một mô hình
Route::match(array('GET', 'POST'), '/', function()
8Tiếp theo, xác định tuyến đường có chứa tham số
Route::get('user/{id}', function($id)
4Route::match(array('GET', 'POST'), '/', function()
9Vì chúng tôi đã ràng buộc tham số
Route::get('user/{id}', function($id)
4 với mô hìnhRoute::get('user/{id}', function($id)
6, nên một phiên bảnRoute::get('user/{id}', function($id)
6 sẽ được đưa vào tuyến đường. Vì vậy, ví dụ, một yêu cầu tớiRoute::get('user/{id}', function($id)
8 sẽ đưa vào phiên bảnRoute::get('user/{id}', function($id)
6 có ID là 1Ghi chú. Nếu không tìm thấy phiên bản mô hình phù hợp trong cơ sở dữ liệu, lỗi 404 sẽ xuất hiện
Nếu bạn muốn chỉ định hành vi "không tìm thấy" của riêng mình, bạn có thể chuyển một Đóng làm đối số thứ ba cho phương thức
Route::get('user/{name?}', function($name = null)
0Route::any('foo', function()
0Đôi khi bạn có thể muốn sử dụng trình phân giải của riêng mình cho các tham số tuyến đường. Đơn giản chỉ cần sử dụng phương pháp
Route::get('user/{name?}', function($name = null)
1Route::any('foo', function()
1Ném lỗi 404
Có hai cách để tự kích hoạt lỗi 404 từ một tuyến đường. Đầu tiên, bạn có thể sử dụng phương pháp
Route::get('user/{name?}', function($name = null)
2Thứ hai, bạn có thể ném một thể hiện của
Route::get('user/{name?}', function($name = null)
3Bạn có thể tìm thêm thông tin về cách xử lý ngoại lệ 404 và sử dụng phản hồi tùy chỉnh cho những lỗi này trong phần lỗi của tài liệu
Định tuyến đến bộ điều khiển
Laravel cho phép bạn không chỉ định tuyến đến Closures mà còn đến các lớp bộ điều khiển và thậm chí cho phép tạo bộ điều khiển tài nguyên