Framework Zend View thông tin mới cho các lập trình viên

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Framework Zend View thông tin mới cho các lập trình viên Empty Framework Zend View thông tin mới cho các lập trình viên

Bài gửi by teenddeem 7/9/2015, 16:59

Forum2: Trung tâm đào tạo lập trình PHP Vietpro hướng dẫn các bạn học framework Zend bài học: Những kiến thức cơ bản về Zend View
chúng ta đã cùng tìm hiểu về quy trình hoạt động của zend framework. Đồng thời cũng đã cấu hình ứng dụng nâng cao theo cơ chế multi module trong zend framework (đa chức năng). Tiếp tục ở bài này, tôi sẽ hướng dẫn các bạn tìm hiểu về phương pháp sử dụng zend view để thực hiện hoàn chỉnh thao tác gởi dữ liệu đúng với chuẩn mực M-V-C trong Zend Framework.
Framework Zend View thông tin mới cho các lập trình viên Zf-2
A- Tìm hiểu quy tắc hoạt động khoá học lập trình php cơ bản của Zend View

Trong controller của zend framework khi chúng ta khởi tạo một action (hành động). Thì tương đương tại thư mục views/scripts/tên_controller/hành_động.phtml.

Ví dụ:
Nếu là NewsController và addAction() thì chúng ta sẽ tạo view theo cấu trúc:

Views/scripts/news/add.phtml

Như vậy, Zend Framework sẽ tự động gọi views của action add khi người dùng tham chiếu tới action add qua đường dẫn. Vậy những gì mà chúng ta trình bày ở view add.phtml sẽ hiển thị cho người dùng thấy khi họ tham chiếu tới action add.

Vậy để truyền tham số mà chúng ta thao tác ở controller cho view như thế nào ?.

Zend Framework cho phép người sử dụng truyền tham số thông qua phương thức:

$this->view->tên_biến;

Và tại các file view có đuôi .phtml chúng ta chỉ cần sử dụng cú pháp: $this->tên_biến để lấy giá trị mà chúng ta đang truyền từ controller.

Ví dụ ta tạo controller tên: IndexController.php với nội dung:

<?php
classIndexControllerextendsZend_Controller_Action{
publicfunctionindexAction(){
$this->view->string="hello Zend Framework –  ";
}

}

Tại thư mục views/scripts/index ta tạo file tên index.phtml với nội dung:

<?php
echo"<h1>".$this->string."</h1>";
?>

Và kết quả sẽ ra là: Hello Zend Framework 


Như bạn thấy ta có thể truyền tham số và nhận tham số dễ dàng tại view với quy tắc ở trên phải không nào.

Trường hợp truyền một mảng thì có cách truyền như sau:

<?php
classIndexControllerextendsZend_Controller_Action{
publicfunctionindexAction(){
$data=array(
'title'=>'Zend Framework',
'author'=>'Kenny',
'date'=>'20-11-2009',
'website'=>' '
);
$this->view->info=$data;
}
}

Tại file view ta viết lại như sau:

<?php
foreach($this->info as$k=>$v)
{
echo"<b>$k</b>: $v<br />";
}
?>

Chạy thử nghiệm:  

Kết quả: dữ liệu của mảng sẽ được hiển thị như mong đợi.

Trong trường hợp, chúng ta không muốn action phải gọi view thì học lập trình android tại action trong controller mà ta muốn, thêm vào phương thức sau:

$this->getHelper(‘viewRenderer’)->setNoRender();

Khi sử dụng phương thức này thì tại action đó ta không cần phải tạo file trong thư mục views. Vì nó bỏ qua việc render file view của action.

B- Nạp 1 file khác trong view như thế nào ?

Để thực hiện việc nạp 1 file khác vào view trong zend framework. Chúng ta có thể gọi trong view thông qua phương thức:

echo $this->render(“Tên_file.phtml”);

Lưu ý là file của chúng ta phải lưu trong thư mục views/scripts/. Vì mặc định trong zend view các file xử lý sẽ nằm tại thư mục views/scripts/

Ví dụ: Tạo action demo trong IndexController với nội dung như sau:

<?php
classIndexControllerextendsZend_Controller_Action{
functiondemoAction(){
$this->view->hello="Hello Zend Framework - QHOnline.Info";
}
}

Tạo tiếp file demo.phtml trong thư mục views/scripts/index/

<?php
echo"<h1>".$this->hello."</h1>";
echo$this->render(" ");
?>

Tạo tiếp file qhonline.phtml trong thư mục: views/scripts

<h2>Khoa hoc PHP Online Version2.0</h2>

Chạy thử nghiệm: 



Kết quả: dữ liệu trả về với nội dung như mong đợi.

C- Thiết lập thông tin cơ bản trong zend view:

Zend view hỗ trợ người dùng những thư viện cấu hình cơ bản trong HTML như <title>, <link>, <script>,… Như vậy để sử dụng được chúng ta cần thiết lập chúng thông qua các controller và từ nó đổ tham số ra view.

a) Thiết lập chuẩn XHTML:

Cú pháp: doctype(“Tham số”)

Tham số chính là những chuẩn mà chúng ta mong muốn.

b) Thiết lập CSS:

Cú pháp: appendStylesheet(URL,Định dạng, Điều kiện)

Tương đương:

<link href=”URL” media=”??” />

c) Thiết lập thẻ Title:

Cú pháp: headtitle(“Tieu de”)

Tương đương:

<title> Tieu de </title>

d) Thiết lập thẻ Meta:

Cú pháp: appendName(“keyword”,”Zend Framework,”);

Trường hợp thêm description ta có:

offsetSetName(“1″,”description”,”Khoa hoc PHP Framework tai QHOnline”)

Tham số đầu là vị trí, tham số sau là tên description và tham số thứ 3 là thông tin.

e) Thiết lập thẻ script:

Cú pháp: appendFile(URL,”text/javascript”)

Trường hợp nạp file js thứ 2

offsetSetFile(“1″,”URL”,”text/javascript”)

Ví dụ: Tạo testAction() trong controller index với nội dung:

functiontestAction(){
$baseurl=$this->_request->getbaseurl();
$this->view->doctype();
$this->view->headtitle("QHOnline.Info - Chapter 3: Zend Framework");
$this->view->headMeta()->appendName("keyword","Zend Framework,Codeigniter,PHP Framework");
$this->view->headMeta()->offsetSetName("1","description","Khoa hoc PHP Framework tai QHOnline"); 
$this->view->headLink()->appendStylesheet($baseurl."/public/css/test.css");
$this->view->headscript()->appendFile($baseurl."/public/js/test.js","text/javascript");
$this->view->headscript()->offsetSetFile("1",$baseurl."/public/js/test2.js","text/javascrip
}

Tạo tiếp file test.phtml tại thư mục: views/scripts/index với nội dung:

<?phpecho$this->doctype()?>
<html>
<head>
<?phpecho$this->headTitle()?>
<?phpecho$this->headMeta()?>
<?phpecho$this->headLink()?>
<?phpecho$this->headScript()?>
</head>
<body onload="test()">
<div class="test">Hello Zend Framework–QHOnline.Info</div>
</body>
</html>

Chạy thử nghiệm:

Kết quả: Title, meta, Css và javascript sẽ có tác dụng

Như bạn thấy đấy, ở trong đoạn code trên testAction() ta sử dụng phương thức:

$baseurl=$this->_request->getbaseurl();

Đó là bởi vì, những gì mà chúng ta học photoshop cơ bản muốn tương tác được trong view như css, javascript, hình ảnh hiển thị thì buộc chúng ta phải lấy được đường dẫn hiển thị ứng dụng zend framework.

Và với $baseurl ở trên thực chất là chúng ta sẽ lấy được thư mục hiện hành của ứng dụng là /zfexample. Và từ đó ta gọi tiếp các thông tin còn lại như css, js và hình ảnh hiển thị.
Trung tâm đào tạo công nghệ thông tin Vietpro!
avatar
teenddeem
Cấp 0
Cấp 0

Bài gửi : 5
Điểm : 3432
Like : 0
Tham gia : 18/07/2015

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

Permissions in this forum:
Bạn không có quyền trả lời bài viết