Hướng dẫn view trong php
Vậy là chúng ta đã viết được các lớp load library, load helper, load config rồi nhỉ, vậy thì trong bài này chúng ta sẽ viết thư viện load view. Đây là một thư viện khá là quan trọng và trong đối tượng này có sử dụng một số hàm có thể hơi mới lạ nên nếu hàm nào không hiểu thì bạn comment hoặc google để tra nhé. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Như thường lệ mình sẽ đăng cấu trúc file và folder tính đến cuối bài này như sau. Trước tiên ta cần tìm hiểu định nghĩa về View và một số thông tin quan trọng liên quan đến view trong project MVC PHP của chúng ta. 1. View là gì?View là một thành phần trong mô hình MVC và nhiệm vụ của nó là lấy dữ liệu từ controller và in ra các đoạn mã HTML, mỗi Bài viết này được đăng tại [free tuts .net] Trong serie này mình chỉ hướng dẫn cách viết thư viện load view đơn giản nên nếu sau này bạn thấy không hay thì có thể bổ sung thêm, chủ yếu là bạn đang học và bạn cần một ví dụ cụ thể để xem chứ không nên lấy ví dụ đó để làm project cho riêng mình. Trong project MVC PHP này các file view sẽ được đặt trong thư mục 2. Viết thư viện view loaderBạn tạo một file __content[] = $content; } /** * Show view * * @desc Hàm hiển thị toàn bộ view đã load, được dùng ở controller */ public function show() { foreach ($this->__content as $html){ echo $html; } } } Ở đây mình có hai phương thức chính là:
3. Thêm view loader vào FT_ControllerNhư thường lệ để sử dụng được thư viện view loader thì ban phải khởi tạo nó trong Bạn mở file // Load View require_once PATH_SYSTEM . '/core/loader/FT_View_Loader.php'; $this->view = new FT_View_Loader(); Và đây là toàn bộ code cho hàm khởi tạo cho tới thời điểm này. public function __construct() { // Loader cho config require_once PATH_SYSTEM . '/core/loader/FT_Config_Loader.php'; $this->config = new FT_Config_Loader(); $this->config->load('config'); // Loader Library require_once PATH_SYSTEM . '/core/loader/FT_Library_Loader.php'; $this->library = new FT_Library_Loader(); // Load Helper require_once PATH_SYSTEM . '/core/loader/FT_Helper_Loader.php'; $this->helper = new FT_Helper_Loader(); // Load View require_once PATH_SYSTEM . '/core/loader/FT_View_Loader.php'; $this->view = new FT_View_Loader(); } Ok như vậy là xong rồi đấy. 4. Tạo mới một viewBạn tạo một file tên là
Vậy là bạn đã tạo xong một view rồi đấy, bây giờ ta sẽ load view này trong controller nhé 5. Load view trong ControllerBạn tạo mới một controller tên là view->load('view'); // Show view $this->view->show(); } } Ok bây giờ bạn ra trình duyệt gõ URL http://localhost/mvc/admin.php?c=view bạn sẽ thấy xuất hiện một giao diện nhu sau tức là mọi chuyện đã ok. 6 Truyền Data từ controller sang viewNếu bạn muốn truyền data từ controller qua view thì bạn sử dụng tham số thứ hai trong phương thức $this->view->load('view', $data); Trong đó Để rõ hơn thì ta làm ví dụ sau. Bước
1: Bạn sửa lại 'Chào mừng các bạn đến với freetuts.net' ); // Load view $this->view->load('view', $data); // Show view $this->view->show(); } } Bước 2: Vào
Chạy lên giao diện sẽ như sau: Ok mọi chuyện đã giải quyết xong và bạn có thể đi ngủ được rồi đấy :D. 7. Lời kếtTrong bài này quan trọng nhất là bạn phải hiểu phương thức
|