Thứ Năm, 18 tháng 6, 2015

Tìm hiểu Route và View trong Laravel 4.X

Trong phần này chúng ta sẽ đi tìm hiểu Route và View trong Laravel 4.X. Nếu như các bạn đã từng làm việc với một Framework bất kỳ thì chắc hẳn không còn xa lạ gì với khái niệm Route và View nữa. Tuy nhiên trong Laravel thì Route có sức mạnh hơn nhiều, bạn có thể dễ dàng thao tác trực tiếp với route mà không cần thiết phải tạo Controller.

Route trong Laravel

Để làm việc được với route trước hết ta tiếp xúc chúng với công thức cơ bản như sau:
Route::method('tên_định_danh', tham_số);

Trong đó:

  • tên_định_danh :  là đường dẫn trong ứng dụng mà người dùng chỉ định.
  • tham_số : là thao tác muốn thực thi với tên định danh trên.
  • method : là một trong các phương thức được định nghĩa dưới đây
  • post: dành cho các thao tác lấy dữ liệu từ form.
  • get: dành cho các thao tác truy cập thông thường tương đương với request cơ bản trong PHP.
  • put: dành cho thao tác lấy dữ liệu từ form (nhưng là cập nhật bản ghi).
  • delete: thao tác xóa bỏ.
  • any: là sự tổng hợp của các thao tác ở trên.


Ví dụ: Ghi thêm nội dung như sau vào file app/routes.php
Route::get("web","TGWController@show");
Câu lệnh trên sẽ được hiểu khi ta truy cập đường dẫn http://localhost/laravel/public/web thì nó sẽ gọi đến controller “TGW” và action “show”

Nếu muốn gửi kèm tham số thì cũng rất đơn giản như cú pháp dưới
Route::get("web/{param}", function($param){
   echo "Chào mừng bạn đến với ".$param;
});
Sau đó ta truy cập vào thanh địa chỉ duyệt web và nhập nội dung: http://localhost/laravel/public/web/thegioiweb.net.vn

Kết quả
Chào mừng bạn đến với thegioiweb.net.vn
Lưu ý:

Đôi khi tham số truyền vào của bạn không chắc chắn sẽ tồn tại thì ta sẽ sử dụng dấu (?) đằng sau tham số. Tuy nhiên đây cũng là một điểm nhạy cảm để hacker có thể tấn công website của chúng ta. Do vậy cần thật sự cẩn thận khi học php và khéo léo khi sử dụng đối số truyền vào trong quá trình làm dự án.

View trong Laravel

Để sử dụng views trong Laravel ta sử dụng cú pháp sau:
return View::make("tên_view",tham_số);

Trong đó:

  • tên_view: là tên file view cần triệu gọi (không có phần mở rộng)
  • tham_số: là tham số truyền sang view, có thể có hoặc không.


Ví dụ: Tạo một file view có tên là webView.php và triệu gọi vào như sau:
Route::get("web",function(){
    return View::make("webView");
});
Nếu muốn truyền tham số vào view ta có thể sử dụng một trong những cách sau:

1. Sử dụng tham số truyền là một mảng đơn thuần
Route::get("web",function(){
    $data['webName']= "Thế Giới WEB";
    return View::make("webView",$data);
});
2. Sử dụng phương thức with()
Route::get("web",function(){
    return View::make("webView")->with("webName"=>"Thế Giới WEB");
});
3. Sử dụng hàm compact()
Route::get("web",function(){
    $webName = "Thế Giới WEB";
    return View::make("webView",compact("webName"));
});
Bạn có thể lựa chọn 1 trong 3 cách trên để truyền tham số sang View (khuyến khích sử dụng cách 1 và 3). Sau đó bạn có thể sử dụng tham số được truyền qua View một cách tùy ý. Giả sử tôi chỉ dùng để in ra giá trị của biến được truyền sang View , thì ở views tôi tạo một file có tên là webView.php với nội dung như sau:
<?php
 echo "Chào mừng bạn đến với ".$webName;
?>

 Kết quả
Chào mừng bạn đến với Thế Giới WEB

SHARE THIS

0 nhận xét:

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.