Zend framework- AiTi conference 1
Zend Framework
(Bài thuyết trình sử dụng Zend Framework 1.8)
Zend framework- AiTi conference 2
Nội dung chính
Giới thiệu chung về Zend Framework (ZF)
Mô hình MVC trong ZF
Cấu trúc ứng dụng viết trên nền ZF
Giới thiệu Zend_Controller, Zend_Layout,
Zend_Config, Zend_Db, Zend_View,
Zend_Auth
Demo ứng dụng đơn giản viết bằng Zend
Framework
Zend framework- AiTi conference 3
Software framework?
Framework: Là một cấu trúc mới của ngôn ngữ giúp phát
triển các ứng dụng phần mềm.
Bên trong framework có các thành phần cơ bản :
1. Code library
2. Scripting language
3. API
Ngoài ra còn được tích hợp các phần mềm hoặc ngôn ngữ
khác.
Zend framework- AiTi conference 4
Propel
Spring
.NET framework
Zend framework- AiTi conference 6
Mô hình MVC
Zend framework- AiTi conference 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ị
Zend framework- AiTi conference 8
Zend Framework
Zend Framework là sản phẩm framework mã
nguồn mở được phát triển trên nền PHP 5.0
theo chuẩn hướng đối tượng.
Zend Framwork là framework theo mô hình
MVC.
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
Zend framework- AiTi conference 13
Mô hình MVC của Zend
Zend framework- AiTi conference 14
Cấu trúc thư mục của project
Zend framework- AiTi conference 15
Khởi tạo ứng dụng trong Zend
Framework
Để khởi tạo ứng dụng ZF chúng ta trải qua 3
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.
Zend framework- AiTi conference 16
Giới thiệu các lớp cơ bản theo
mô hình MVC
Load cấu hình trong file .ini
$conDatabase = new
Zend_Config_Ini(' /config/config.ini','database');
Zend framework- AiTi conference 19
Khai báo cấu hình & khởi tạo
Thiết lập môi trường
error_reporting(E_ALL|E_STRICT);
date_default_timezone_set('Europe/London');
Định nghĩa đường dẫn đến thư viện của Zend
Framework
set_include_path(' /library/'. PATH_SEPARATOR . ' /application/models');
Gọi lớp Zend_Loader
include "Zend/Loader.php";
Gọi các lớp được sử dụng
Zend_Loader::loadClass('Zend_Controller_Front');
Zend_Loader::loadClass('Zend_Registry');
Zend_Loader::loadClass('Zend_Layout');
Zend_Loader::loadClass('Zend_View');
Zend_Loader::loadClass('Zend_Config_Ini');
Zend_Loader::loadClass('Zend_Db');
Zend_Loader::loadClass('Zend_Db_Table');
Zend framework- AiTi conference 20
Khai 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
Lớp này được sử dụng trong tầng Model và giao tiếp trực tiếp
với Database
Zend framework- AiTi conference 22
Cấu hình sử dụng lớp Zend_DB
Kết nối database sử dụng
Adapter
$db = Zend_Db::factory('PDO_MYSQL', $params);
Zend_Db_Table::setDefaultAdapter($db);
Khai báo biến toàn cục
$registry = Zend_Registry::getInstance();
$registry->set('db', $db);
Zend framework- AiTi conference 23
Ví dụ về Model trên Zend_Db
Có thể dùng truy vấn để thực hiện thao tác
với CSDL
$sql = “SELECT * FROM demo_table WHERE demo_id = 1”;
$result = $db->query($sql);
Hoặc sử dụng Zend_DB_Select
$select = new Zend_Db_Select($db);
$select->from(‘demo_table');
$select->where(‘demo_id = ?', ‘1');