2013-05-29 23 views
8

Im cố gắng để chuyển từ sử dụng mã igniter để laravel tuy nhiên tôi nhận thấy trong mọi hướng dẫn tôi theo, chúng tôi luôn luôn khai báo các tuyến đường trong route.php trong laravel không giống như trong mã igniter rằng nó có một định tuyến mặc định như http://localhost/projname/controller/method. Có một cách để có một định tuyến tự động như CI hoặc tôi chỉ bỏ lỡ một cái gì đó trong quy tắc định tuyến laravel? Điều này là rất quan trọng bởi vì chúng ta đều biết các trang web lớn có hơn 50 liên kết và nó sẽ là một hối hả nếu chúng ta sẽ tuyên bố tất cả trong routes.php trong laravel.Laravel định tuyến như mã igniter

Trả lời

8

Có cách nào để có một định tuyến tự động như CI

Tại sao có có. Trong tệp tuyến đường của bạn, hãy thực hiện Route::controller(Controller::detect());

Bây giờ trong lớp điều khiển của bạn, hãy đảm bảo mỗi tên hàm được nối với action_. Vì vậy, nếu tên chức năng của bạn là homepage() thì hãy đặt tên là action_homepage()

Hãy nhớ rằng bạn có thể sử dụng tên bộ điều khiển an toàn get_homepage()post_homepage(). Nhưng bạn sẽ phải khai báo biến lớp này trong bộ điều khiển của bạn public static $restful = true;

+1

Tuyến đường :: bộ điều khiển (Bộ điều khiển :: phát hiện()); Hàm này đã được gỡ bỏ trong Laravel 4 vì hành vi không nhất quán với các hệ thống tệp khác nhau. Cách thích hợp để đăng ký các bộ điều khiển nên xác định rõ ràng từng cái bạn muốn sử dụng trong tệp tuyến đường của bạn. –

+1

Laravel 5 lại có tùy chọn 'Route :: controller()'. http://laravel.com/docs/5.0/controllers#implicit-controllers – user2094178

Các vấn đề liên quan