Controller + Template + View
Ở bài trước controller đã có thể liên kết với template. Bài này tiến thêm 1 bước là kết hợp với View. Như đã biết View có thể được hiểu là những phần mà người dùng thấy được, tương tác được giữa hệ thống và người dùng ví dụ như: hình ảnh, biểu mẫu, kích thước, kiểu chữ, giao diện,...Tóm lại là những gì mà chúng ta làm cho người sử dụng tương tác được. Việc tách biệt view và controller, model sẽ giúp người lập trình dễ dàng phát triển và nâng cấp mã nguồn trong tương lai dễ dàng hơn.
trong Kohanà thì view được gọi $view
= View::factory(
'
đường dẫn view '
);
$detail_product
=
$view
->render();
// Or just type cast it to a string
$
detail_product = (string)
$view
;
$this
->request->response =
$
detail_product;
Thôi thì bây giờ bắt tay vào
TEMPLATE
Bây giờ ta tạo 1 controller temp như sau, ta sử dụng template nên ta extends thằng controller_template chứ ko extends thằng controller nữa nha.
PHP Code:
<?php
defined('SYSPATH') or die('No direct script access.');
class Controller_Temp extends Controller_Template {
public $template = 'home/index';
public function action_index() {
}
}
// End Temp
Để có thể gọi đúng thì trong thư mục application/views tạo 1 thư mục home , và vào thư mục home tạo 1 file index.php và nội dung file index.php như sau:
PHP Code:
Viết gì thì tùy bạn
Test thử nào
VIEWS
Giờ ta bắt tay vào view nào,
Ta sửa lại function action_index lại như sau
PHP Code:
public function action_index() {
$this->template->content = View::factory('member/list');
}
rồi tạo 1 thư mục member trong application/views và tạo 1 file list.php trong thư mục member với nội dung như sau
PHP Code:
LIST MEMBERS
và các bạn mở file index.php trong thư mục home lên nào, thay đổi nội dung:.
PHP Code:
<h1>HOME PAGE NÈ ^^!</h1>
<div>
<?php echo $content ?>
</div>
Chạy thử chạy thử nào.. http://localhost/kohana/temp -> xuất ra được vầy là okie
HOME PAGE NÈ ^^!
LIST MEMBERS
Tới đây là okie xog template + view nha nha.
tham khảo từ qhonline