01/10/2018, 10:03
$this->set("data", $data); có ý nghĩa thế nào?
<?php
class UsersController extends AppController{
public $name = "Users"; // tên của Controller User
function index(){
$data = $this->User->find("all");
$this->set("data",$data);
}
}
* Trong đó $this->User->find(“all”) là gọi model User để hiển thị tất cả dữ liệu trong table users, dữ liệu lấy ra theo dạng mảng được gán cho mảng data các bạn có thể print_r($data) để xem thành phần của mảng này, find() là cách lấy dữ liệu trong cakephp, chúng ta sẽ tìm hiểu về nó ở một bài khác.
* $this->set(“data”,$data) là cách để gán giá trị mảng data vào biến data và hiển thị chúng ra view(index.ctp).
---
Ở đây người ta giải thích $this->set("data", $data); là gì rồi nhưng mình vẫn không hiểu.
Mình tìm hiểu trên mạng rồi mà vẫn chưa ra. Không biết "data" ở đây có nghĩa là gì và công dụng như thế nào?
Mong các bạn giải đáp giùm.
Thks!
Bài liên quan
‘data’ là tên của biến ở View dùng để access vào nội dung của biến $data đã đã set ở Controller.
Tên này có thể đặt tuỳ ý.
Ví dụ nếu ở Controller bạn dùng:
$this->set('abc', $data);
thì khi ở view, bạn sẽ gọi biến $abc để access vào dữ liệu của $data chứ ko dùng $data được.
Nó ghi rõ vậy mà k hiểu thì cũng k biết giải thích sao cho bạn hiểu nên là viết lại đề bài tý.
Đoạn code trên làm nhiệm vụ hiển thị toàn bộ users ra view.
Câu lệnh find(‘all’) là method find của model User.
Giả sử 1 Object user có name, age thì làm thế nào bạn set giá trị cho user đó?
Người ta có thể dùng:
User->setName(‘newName’) hoặc User->setData(‘name’,‘newName’) hay như trong ví dụ User->set(‘name’,‘newName’)
Mỗi framework/cms có cú pháp khác nhau nhưng nhiệm vụ chung chỉ là set và get thôi, bạn google thêm setter, getter nhé.