Trang chủ » Kho tài liệu » Lập Trình với Zend Framework


Cập nhật ngày: 4/22/2015 5:03:54 PM

Bài 5 -Sử dụng view trong zend 2



Để render view trong zend 2, trong các action của controller, chúng ta sẽ return new ViewModel(). Zend 2 sẽ tự đồng tìm đến view tương ứng của action đó(đã được khai báo trong file module.config.php)


Sử dụng view trong zend 2

 

Render view

Để render view trong zend 2, trong các action của controller, chúng ta sẽ return new ViewModel(). Zend 2 sẽ tự đồng tìm đến view tương ứng của action đó(đã được khai báo trong file module.config.php). VD:

IndexAction nằm trong IndexController

------src
---------Book
------------Controller
----------------IndexController.php

Thư mục view tương ứng

------view
---------book
------------index
----------------index.phtml

Đăng ký trong module.config.php

1
2
3
4
5
6
/Khai báo đường dẫn đến view
     'view_manager' => array(
         'template_path_stack' => array(
             'book' => __DIR__ . '/../view',
         ),
     ),

B1: Nhập đoạn code sau vào file IndexController

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
namespace Book\Controller;
 
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
 
class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel();
    }
}

B2: Nhập đoạn code sau vào file view/book/index/index.phtml

1
<h3>Đây là view của indexAction trong IndexController</h3>

B3: Mở trình duyệt và nhập đường dẫn đến controller(đã giới thiệu trong bài trước)

Sử dụng view trong zend 2

Truyền biến từ controller sang view

Để truyền biến từ controller sang view, trong hàm ViewModel() ta truyền vào một mảng với key là tên biến được dùng ở view và value là giá trị của biến đó.

B4: Nhập đoạn code sau vào file IndexController

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
namespace Book\Controller;
 
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
 
class IndexController extends AbstractActionController
{
    public function indexAction()
    {
        return new ViewModel(array(
                            'foo'=>'Đây là biến được truyền từ indexAction trong IndexController'));
    }
}

B5: Nhập đoạn code sau vào file view/book/index/index.phtml

1
2
3
<h3>Đây là view của indexAction trong IndexController</h3>
 
<h4><?php echo $foo; ?></h4>

B6: Refresh lại trình duyệt

Sử dụng view trong zend 2

 


Nguồn: vietobject