Zend framework- AiTi conference kiennt02@aiti.com.vn 1Zend Framework Bài thuyết trình sử dụng Zend Framework 1.8 CuuDuongThanCong.com https://fb.com/tailieudientucntt... Zend framework-
Trang 1Zend framework- AiTi conference kiennt02@aiti.com.vn 1
Zend Framework
(Bài thuyết trình sử dụng Zend Framework 1.8)
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 2Nội dung chính
Zend_Config, Zend_Db, Zend_View,
Zend_Auth
Framework
Trang 3Zend framework- AiTi conference kiennt02@aiti.com.vn 3
Trang 4Các chuẩn để xây dựng một
Framework
MVC : Có hỗ trợ M odel – C ontrol – V iew?
ORM : Có hỗ trợ object-record mapper?
AJAX , Validation , Caching?
Auth Module : Có module xác thực người dùng?
• EDP new : ( E vent D riven P rogramming) Hướng sự kiện?
Trang 5Zend framework- AiTi conference kiennt02@aiti.com.vn 5
Trang 6Mô hình MVC
Trang 7Zend framework- AiTi conference kiennt02@aiti.com.vn 7
MVC[1]
Control: Lớp Xử lý các Bussines case
Model: Lớp giao tiếp với Database
View: Lớp xử lý cho Bussines logic
Cơ chế hoạt động đơn giản:
Khi một request được gửi tới, lớp C xác định yêu cầu
để lấy data từ lớp M sau đó trả về cho lớp V hiển thị
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 8Zend Framework
nguồn mở được phát triển trên nền PHP 5.0
theo chuẩn hướng đối tượng.
MVC.
Zend Framework có hỗ trợ làm việc với
Tempalate engine kết hợp cùng tầng View
Trang 9Zend framework- AiTi conference kiennt02@aiti.com.vn 9
Mô hình MVC cơ bản trong
ứng dụng của Zend
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 10Zend framework làm việc thế nào?
Tương ứng chúng ta có cây thư mục
Zend
|_Db
|_ Table
Trang 11Zend framework- AiTi conference kiennt02@aiti.com.vn 11
Zend framework làm việc thế nào?[1]
Controller thể hiện trên URL
http:// domainname /controller/ action / getID / value
http:// domainname /module/controller/ action / getID / value
Ví dụ
http://localhost/zfdemo/admin/ : Tìm tới indexAction trong adminController để thực thi
http://localhost/zfdemo/admin/login : Tìm tới loginAction trong controller adminController
để thực thi
http://zend.com/news/views/id/15 : Tìm tới vewsAction trong controller newsController và get id=15 để thực thi.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 12Mô hình MVC trong Zend Framework
Model : Cung cấp tập hợp các lớp được trừu tượng hóa sử dụng cho việc truy xuất dữ liệu.
Lớp phục vụ: Zend_DB, Zend_DB_Table
View : Định nghĩa các thông tin hiển thị phía người dụng sau khi được xử lý và trả về từ controller
Lớp phục vụ: Zend_View
Controller : Kiểm soát dữ liệu vào ra Xuất thông tin
ra tầng View khi được thực thi.
Lớp phục vụ: Zend_Controller
Trang 13Zend framework- AiTi conference kiennt02@aiti.com.vn 13
Mô hình MVC của Zend
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 14Cấu trúc thư mục của project
Trang 15Zend framework- AiTi conference kiennt02@aiti.com.vn 15
Khởi tạo ứng dụng trong Zend
Framework
bước cơ bản:
1 Khởi tạo môi trường: Bật chức năng Debug,
khai báo về múi giờ làm việc, …
2 Khai báo đường dẫn: Load các class làm
việc của nhân ZF
3 Thiết lập controllers: Chỉ ra nơi đáp ứng các
request.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 16Giới thiệu các lớp cơ bản theo
Trang 17Zend framework- AiTi conference kiennt02@aiti.com.vn 17
Zend_config
Chức năng: Load cấu hình giao tiếp webserver: Databse, các
đường dẫn lưu trữ Layout, css, js…
Trang 19Zend framework- AiTi conference kiennt02@aiti.com.vn 19
Khai báo cấu hình & khởi tạo
Thiết lập môi trường
Trang 20Khai báo cấu hình & khởi tạo [1]
Load thông cấu hình database, khỏi tạo biến toàn cục
$conDatabase = new Zend_Config_Ini(' /config/config.ini','database');
Load cấu hình đường dẫn của ứng dụng
$conDirApp = new Zend_Config_Ini(' /config/config.ini','dir');
Trang 21Zend framework- AiTi conference kiennt02@aiti.com.vn 21
Zend_Db
Chức năng: Giao tiếp với Database
Load cấu hình connection
Zend_Db_Table: Các thao tác thực thi với Table, Row, Column
Zend_Db_Select: Thay thế và tạo ra cách viết câu lệnh SQL query mới
Lớp này được sử dụng trong tầng Model và giao tiếp trực tiếp
với Database
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 23Zend framework- AiTi conference kiennt02@aiti.com.vn 23
Ví dụ về Model trên Zend_Db
Trang 24Ví dụ về Model trên Zend_Db[1]
Khai báo lớp trong Model
class Booking extends Zend_Db_Table
{
protected $_name = ‘'booking_region_tmp ';
protected $_primary = ‘'booking_id ';
public function loadListRegion($booking_id, $getAll=false) {
Trang 25Zend framework- AiTi conference kiennt02@aiti.com.vn 25
Giới thiệu về Zend Controller
định để sử dụng cho việc gọi hàm trong
Controller đó qua tham số trên URL.
phương thức được khai báo trong Controller tương ứng.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Trang 26Ví dụ về Zend Controller
AdminController.php tập hợp các action xử lý trong phần admin Trong lớp này có phương thức addAction() trả về kế quả “Add me!” :
<?php
Zend::LoadClass('Zend_View');
class AdminController extends Zend_Controller_Action
{
public function addAction() {
$ this->view->assign('title', ‘Add me!'); }
}
Việc gọi action này được thực hiện qua URL request như sau ::
http://localhost/public/admin/add
(trong đó http://localhost/public là đường dẫn của ứng dụng,
admin : tên controller, add : action thực hiện trong controller
Trang 27Zend framework- AiTi conference kiennt02@aiti.com.vn 27
Zend_View
template engine riêng.
Trang 28<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> <?php echo $this->escape($this->pageTitle); ?> </title>
Trang 29Zend framework- AiTi conference kiennt02@aiti.com.vn 29
// Kiem tra tai khoan trong CSDL
$authAdapter = new Zend_Auth_Adapter_DbTable($db,
'sysadm',
'username', 'password', 'MD5(?) AND status != "compromised"');
Trang 30Demo ứng dụng sử dụng ZF tổ chức
theo mô hình MVC
Bài thuyết trình đến đây kết thúc
Chóc c¸c b¹n cã mét nam míi víi nhiÒu
thµnh c«ng míi, trµn ®Çy niÒm vui vµ
h¹nh phóc
AITI-APTECH