Router là gì

Router trong laravel làm nhiệm nhận request và trả kết quả lại cho người dùng. Các file configs router nằm trong thư mục Router trong thư mục routers của sources project laravel

Để kiểm tra tất cả các router hiện đang có trong project laravel của bạn, ta sẽ bật command line vào project và gõ lệnh sau: php artisan r:l

laravel-list-router

Trong laravel 5 sẽ cung cấp cho chúng ta tổng cộng 3 loại router:

Web Router

Web router là config router cho url không có liên quan đến restfull api. Để config web router, bạn vào thư routers và tìm đến file web.php.

Route::get('/', function(){
  return view('welcome');
})

Ở đây router laravel để mặc đình cho ta một ví dụ với web router với phương thức GET và url là “/” thì laravel sẽ trả về cho ta view ‘welcome’. Để xem view ‘welcome’ bạn truy cập vào resources/views –  đây là nơi mặc định laravel chứa các blade view trong laravel. Chúng ta cũng tìm hiểu thêm blade view tại đây

API Router

Tương tự như web router nhưng nó được thêm mặc định middleware “auth:api: của laravel. Mục địch của api router trong laravel giúp ta phần biệt giữa router dùng trong resfull api và router bình thường ( chuyển trang trên website). Giờ chúng ta sẽ truy cập vào api.php và sửa middleware thành “guest” bởi vì chúng ta config cho middleware auth:api, chúng ta sẽ tìm hiểu sau.

Route::middleware('guest')->get('/users', function(Request $request){ 
 return view('This is api'); 
}) 

Console Router

Giúp chúng ta cấu hình các lệnh chạy trên command line thông qua artisan.

Artisan:command('inspire', function(){
$this->comment(Inspiring::quote())
})->describe('Display an inspiring quote');

 Để kiểm tra lệnh console router, ta truy cập vào sources qua command line và gõ lệnh php artisan để show tất cả các lệnh có trong project.

Như vậy,  ta đã thấy lệnh inspire của ta xuất hiện trong list command của artisan. Để chạy thử lệnh ta gõ như sau: php artisan + tên lệnh chạy