Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
163,5 KB
Nội dung
TìmhiểuZendFramework Chương I: Giới thiệu framework I Framework gì? • Một cấu trúc ngơn ngữ giúp phát triển phần mềm • Một thư viện xây dựng sẵn để người lập trình sử dụng • Các chuẩn để xây dựng framework: o MVC: có hỗ trợ Model-Control-View? o Multiple DB’s: làm việc với nhiều loại database? o ORM: có hỗ trợ Object-Relation-Mapper? o Templates: có hỗ trợ cho template engine? o AJAX, validation, caching? o Auth Module: có module xác thực người dùng? o Module: tích hợp module tiện ích PDF,RSS… o EDPnew (Event Driven Programming): có hướng kiện? II Tại lại phải sử dụng framework? • Tăng tốc q trình phát triển ứng dụng • Giảm thời gian nỗ lực để có dự án • Cung cấp sẵn module cần thiết để xây dựng project • Dễ nâng cấp, sửa chữa có phân hóa rõ ràng mơ hình MVC III Các thành phần framework: • Code Library: thư viện source code giúp lập trình viên tra cứu lập trình Hỗ trợ 30 ngơn ngữ lập trình: C#, Java, VB, PHP, Javascript… Khoa Công Nghệ Thông Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework IV • Scripting Language: sử dụng ngôn ngữ kịch • API: sử dụng hàm API xây dựng sẵn Các PHP framework phổ biến nay: • Trong vài năm qua, PHP tiến triển thành ngôn ngữ script lựa chọn hầu hết nhà phát triển website, dẫn đến bùng nổ PHP framework Câu hỏi đặt ra: “Hiện nay, PHP framework phổ biến nhất? ” • Dưới framework đánh giá phổ biến tốt nay: o Zend Framework: có cộng đồng phát triển rộng lớn, tập trung phát triển ứng dụng web theo phong cách 2.0 Nó có tính mạnh mẽ, phải có kiến thức sâu rộng PHP để sử dụng o CakePHP: lựa chọn tuyệt vời cho lập trình viên có kiến thức nâng cao php Một framework mạnh khía cạnh rapid development, đẩy mạnh q trình phát triển ứng dụng, có hệ thống hỗ trợ, tính đơn giản mơi trường mở cao o Symfony: nhằm mục đích giúp đỡ lập trình viên nâng cao website doanh nghiệp, PHP framework mã nguồn mở, có đầy đủ tính cần thiết, lại hạn chế mặt tốc độ so với framework khác o CodeIgniter: dễ hiểu, dễ sử dụng, hiệu suất cao, lý tưởng cho việc xây dựng ứng dụng lưu trữ, chia sẻ liệu Phù hợp cho người làm quen với framework o Seagull: framework dễ sử dụng cho người chuyên gia PHP, cung cấp mẫu ứng dụng tùy chỉnh để phù hợp với nhu cầu, Khoa Công Nghệ Thông Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework cung cấp tùy chọn máy chủ để xây dựng ứng dụng web nhanh dễ dàng Chương 2: Mơ hình MVC framework I Mơ hình MVC gì? • Cách thức làm việc PHP framework phải kể đến Model-View-Controller (MVC) • MVC mơ hình lập trình, cho phép tách biết mã nghiệp vụ (bussiness logic) giao diện (UI) thành cách thành phần riêng biệt • MVC: o Model : giao nhiệm vụ cung cấp liệu cho sở liệu lưu liệu vào kho chứa liệu Tất nghiệp vụ logic thực thi Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng TìmhiểuZendFramework Model Dữ liệu vào từ người dùng thông qua View đến Controller kiểm tra Model trước lưu vào sở liệu Việc truy xuất, xác nhận, lưu liệu phần Model o View : View hiển thị thông tin cho người dùng ứng dụng giao nhiệm vụ cho việc nhận liệu vào từ người dùng, gửi yêu cầu đến controller, sau nhận lại phản hồi từ controller hiển kết cho người dùng Các trang HTML, JSP, thư viện thẻ file nguồn phần thành phần View Trong web framework, gồm phần chính: + Template file định nghĩa cấu trúc cách thức trình bày liệu cho user Ví dụ layout, color, windows … + Logic xử lý cách áp dụng liệu vào cấu trúc trình bày Logic bao gồm việc kiểm tra định dạng liệu, chuyển đổi định dạng liệu sang sạng liệu trung gian, lựa chọn cấu trúc thị phù hợp o Controller : controller đảm nhiệm việc cập nhật phận hiển thị (View) cần thiết Bộ điều khiển nhận liệu nhập từ người dùng, truy xuất thơng tin cần thiết từ mơ hình (Model), cập nhật thích hợp phần hiển thị (View) Giao diện với người sử dụng phần mềm thiết lập nhờ tương tác qua lại View Controller: hai phận phần trình bày bên đối tượng biểu diễn bên MVC chia nhỏ trình xử lý ứng dụng, giúp người lập trình làm việc thành phần Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng TìmhiểuZendFramework riêng lẻ, khơng ảnh hưởng đến thành phần khác giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp II So sánh mô hình MVC với mơ hình lớp: • Giống nhau: o Cả hai để tách rời programming core/business logic khỏi phụ thuộc tài nguyên môi trường o Trong ứng dụng nhỏ, MVC thể nào? Presentation thể giống chức View Controller Business Database thể giống chức Model Như nhìn góc độ này, MVC tương đương với 3-layer (tất nhiên có chồng chéo hình vẽ) • Khác nhau: o Trong 3-layers, trình theo chiều dọc, Presentation, sang BL, tới Data, từ Data, chạy ngược lại BL quay lại Presentation Khoa Công Nghệ Thơng Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework o Còn mẫu Supervising Controller, liệu nhận View, View chuyển cho Controller cập nhật vào Model, sau liệu Model đưa lại cho View mà không thơng qua Controller, luồng xử lý có hình tam giác Khoa Cơng Nghệ Thơng Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework Chương 3: ZendFramework (ZF) I Giới thiệu Zend Framework: ZendFramework gì? • ZF thư viện lớp xây dựng dựa tảng ngôn ngữ PHP, theo hướng OOP • ZF định hướng theo mơ hình MVC Ưu khuyết điểm Zend Framework: • ZF PHP framework đời trễ, tiếp thu tinh hoa khắc phục sai lầm mà framework trước mắc phải • Ưu điểm: o ZF viết theo kiểu OOP nên thừa hưởng mạnh kiểu viết Các lớp ZF BA (Business Analysis) chuẩn cần mở rộng bạn dùng thể dùng tính chất thừa kế OOP Nói chung chỉnh sửa core ZF o Hầu version ZF ko có nhiều thay đổi core nên ta dễ dàng update o ZF tích hợp gần tất thư viện PHP CMS khác để sử dụng VD: Smarty - Pear FCKEditer - Drupal o Các viết ZF thân thiện đơn giản Tích hợp lập trình web như: JSON Search - Syndication - Web Services Khoa Công Nghệ Thông Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework o ZF sử dụng dự án lớn có kế hoạch phát triển dài lâu • Khuyết điểm: o Mất nhiều thời gian để tìmhiểu thư viện ZF o Một số lớp chưa ổn định, có thay đổi, gây khó khăn cho người sử dụng cập nhật phiên Q trình phát triển Zend Framework: • Trải qua giai đoạn hình thành phát triển, ZendFramework có 10 phiên bản, phiên 1.10: o ZendFramework 1.10 o ZendFramework 1.9 o ZendFramework 1.8 o ZendFramework 1.7 o ZendFramework 1.6 o ZendFramework 1.5 o ZendFramework 1.0 o ZendFramework 0.9 o ZendFramework 0.8 o ZendFramework 0.6 II Cách thức hoạt động mơ hình MVC Zend Framework: • Bất ứng dụng xây dựng theo mơ hình MVC điều phải tuân thủ nguyên tắc mà mơ hình MVC mang lại • Khi có request từ người dùng Controller tiếp nhận request Phân tích request, controller phân luồng request để gọi đến Model View tùy vào request mà người dùng gửi Khoa Công Nghệ Thông Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework • Một ứng dụng xây dựng theo mơ hình MVC hoạt động theo nguyên tắc sau: o Khi người sử dụng người gửi request từ browser nơi tiếp nhận request controller o Dựa vào request nhận được, controller phân tích request, phân luồng request Tùy vào request, mà controller phân luồng đến model view Ví dụ: Một request controller phân luồng đến view Khoa Công Nghệ Thơng Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework Để đăng ký tài khoản người sử dụng, trước hết phải có form đăng ký Cách hoạt động để form đăng ký mơ hình MVC hoạt động sau: từ request Đăng Ký, controller tiếp nhận, controller phân tích thấy request không yêu cầu đến sở liệu, khơng tương tác với model, yêu cầu hiển thị form đăng ký, controller phải phân luồng đến view để đáp ứng yêu cầu request Sau đó, từ view trả liệu dạng GUI Cuối controller trả kết trình duyệt gói response dạng HTML Một request controller phân luồng từ model đến view Tiếp tục giai đoạn sau form đăng ký trình duyệt Ví dụ, sau validate form hợp lệ (AJAX) Khi người dùng submit form để gửi request yêu cầu đăng ký form, theo nguyên tắc, controller tiếp nhận request này, phân tích request Lúc này, controller nhận thấy request yêu cầu lưu thông tin người dùng vào CSDL Lúc này, controller phân luồng request đến model đế đáp ứng request Sau trả cờ để báo cho controller biết việc lưu trữ có thành cơng hay Khoa Cơng Nghệ Thơng Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework không? Dựa vào cờ này, controller lại tiếp tục phân luồng đến view để thị thông tin đến người dùng đăng ký có thành cơng hay khơng? • Ngồi ra, mơ hình MVC ZF tổng qt hóa mơ hình sau: Tóm lại, ứng dụng xây dựng theo mơ hình MVC hoạt động tổng qt sau: Tiếp nhận request từ trình duyệt dạng HTML Sau biên dịch thông qua Java Servlet controller tiếp nhận, phân tích request Khoa Cơng Nghệ Thơng Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework để phân luồng đến model view Cuối trả trình duyệt dạng response HTML III Cấu trúc thư mục project ZF: • Đối với project xây dựng ZF có cấu trúc thư mục project sau: o application/ models/ Mỗi lớp đảm nhận việc kết nối thao tác đến table sở liệu Cung cấp tập hợp lớp trừu tượng hóa sử dụng cho việc truy xuất liệu: Zend_DB, Zend_DB_Table views/ scripts : Chứa file ánh xạ đến controller/action để hiển thị trang giao diện tương ứng helpers : chứa lớp mà user tạo lớp nạp tự động cho đối tượng Zend_View thông qua Zend_View_Helper để gọi đến hàm xây dựng lớp filters : chứa lớp giúp cho thay đổi xóa liệu khơng mong muốn trình nhập liệu controllers/ Chứa lớp mở rộng từ Zend_Action Khoa Công Nghệ Thông Tin Trường đại học Tơn Đức Thắng TìmhiểuZendFramework Thực nhiệm vụ điều hành trang configs/ Chứa file config project: application.ini bootstrap.php File khởi động chương trình cho project o library/ Thư mục chứa thư viện người dùng tự định nghĩa o public/ Thư mục chứa tập tin index.php, font controller cho trang web Thư mục chứa tập tin script: css, javascript, ảnh… Tóm lại, cấu trúc thư mục project tổ chức rõ ràng mặt hình thức lẫn chức Điều giúp người sử dụng thuận tiện nhiều trình làm việc Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng ... Framework 1.7 o Zend Framework 1.6 o Zend Framework 1.5 o Zend Framework 1.0 o Zend Framework 0.9 o Zend Framework 0.8 o Zend Framework 0.6 II Cách thức hoạt động mơ hình MVC Zend Framework: • Bất... phát triển Zend Framework: • Trải qua giai đoạn hình thành phát triển, Zend Framework có 10 phiên bản, phiên 1.10: o Zend Framework 1.10 o Zend Framework 1.9 o Zend Framework 1.8 o Zend Framework. .. Khoa Công Nghệ Thông Tin Trường đại học Tôn Đức Thắng Tìm hiểu Zend Framework Chương 3: Zend Framework (ZF) I Giới thiệu Zend Framework: Zend Framework gì? • ZF thư viện lớp xây dựng dựa tảng ngôn