chương 1 còn giới thiệu về PHP Framework với ý tưởng làm việc chung của PHP Framework hiện nay qua mô hình kiến trúc MVC, và giới thiệu sơ qua về lịch sử và đặc điểm của một số PHP Framework hay được sử dụng nhất hiện nay. Xây dựng Framework thử nghiệm bằng ngôn ngữ PHP Chương này giới thiệu tổng quan, các thành phần và chức năng của Framework, từ đó tự xây dựng một Framework khác, đó là Framework thử nghiệm. Chương 2 cũng cung cấp kiến trúc của Framework thử nghiệm, cách thức vận hành và các thư viện hỗ trợ của Framework thử nghiệm. Xây dựng ứng dụng “Quản lý đăng ký sử dụng phòng thực hành máy tính trƣờng Đại học Hải Dƣơng” sử dụng Framework thử nghiệm Giới thiệu về quy trình quản lý và sử dụng phòng thực hành trường Đại học Hải Dương.
Từ đó phân tích được nhu cầu của người dùng, và đưa ra các chức năng cho ứng dụng Web. Sau đó, chương 3 đưa ra bản thiết kế hệ thống với các biểu đồ Use Case và chi tiết lớp. Cuối cùng mô tả về ứng dụng xây dựng được thông qua hình ảnh một số giao diện chính. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 CHƢƠNG 1.
TỔNG QUAN VỀ NỀN TẢNG HỖ TRỢ LẬP TRÌNH ỨNG DỤNG WEB (WEB APPLICATION FRAMEWORK) 1. Framework Framework là một bộ mã nguồn được xây dựng, phát triển và đóng gói - phân phối bởi các chuyên gia lập trình hoặc bởi các công ty lập trình. Framework được tạo ra nhằm giải quyết 2 vấn đề: Tổ chức thư viện và khái quát cấu trúc cho ứng dụng. Framework cung cấp một cấu trúc phát triển chuẩn để các nhà phát triển ứng dụng dựa vào đó xây dựng và phát triển các dự án; đi kèm theo nó là một kho thư viện gồm nhiều lớp/ hàm xử lý được đặt trong các packages hoặc namespace riêng.
Các lớp trong một framework sẽ làm việc tốt nhất với cấu trúc chuẩn mà framework đó cung cấp. Đặc điểm chung của các Framework: - Framework đóng gói các thư viện: Trong Framework có chứa các thư viện hỗ trợ cho các nhà phát triển ứng dụng sử dụng. - Framework hoạt động chủ động: Bản thân Framework có thể tự đưa ra các quyết định gọi (hoặc bị gọi bởi) một cái gì đó, có thể là thư viện hoặc ứng dụng. - Framework đưa ra một phương pháp luận để viết ứng dụng và thư viện trên nó.
Như vậy có thể nói, người lập trình ra Framework thực tế là viết ra một phần mềm ứng dụng khái quát, tạo ra một thư viện và một bộ gọi - tải - nạp ứng dụng. Người lập trình ứng dụng sẽ dựa vào ứng dụng khái quát để phát triển ứng dụng trên Framework. Web Application Framework Ứng dụng Web là một chương trình ứng dụng có thể tiếp cận web thông qua mạng như Internet hoặc mạng nội bộ. Để thiết kế website có 2 phương thức chính để có thể thiết kế lên ứng dụng web đó là thiết kế web tĩnh và thiết kế web động: - Web tĩnh: là các website chỉ bao gồm các trang web tĩnh, nội dung ít thay đổi và người sử dụng không tương tác được với nó, muốn thay đổi nội dung của nó người ta phải thay đổi trong mã nguồn.
Thiết kế web tĩnh người ta thường sử dụng ngôn ngữ HTML, và thường không có cơ sở dữ liệu đi kèm. Như vậy với web tĩnh ta có thể thấy nó có ưu điểm là thiết kế đẹp (vì có thể trình bày ý tưởng về đồ họa và mỹ thuật trên từng diện tích trang web), tốc độ truy cập nhanh (vì không mất thời gian truy cập cơ sở dữ liệu), chi phí đầu tư thấp (vì không mất phí cho việc lập trình web, thiết kế cơ sở dữ liệu và thuê chỗ cho cơ sở dữ liệu,…). Nhưng sử dụng web tĩnh gặp khó khăn ở chỗ: khó thay đổi và LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 cập nhật thông tin (muốn thay đổi phải biết ngôn ngữ html, sử dụng được chương trình thiết kế đồ họa và thiết kế web), thông tin không có tính linh hoạt và không thân thiện với người dùng (người dùng muốn tăng lượng thông tin thì website không đáp ứng được), và đặc biệt khó tích hợp, nâng cấp, mở rộng (muốn nâng cấp một website phải làm mới gần như toàn bộ website) - Web động: là website có cơ sở dữ liệu đi kèm và được hỗ trợ bởi các phần mềm phát triển web. Với web động, thông tin hiển thị được gọi ra từ một cơ sở dữ liệu khi người dùng truy vấn tới một trang web.
Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến như PHP, ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ mạnh như Access, MySQL, MS SQL, Oracle, DB2.Thông tin trên web động luôn được cập nhật trong một cơ sở dữ liệu thông qua các công cụ cập nhật của phần mềm quản trị web và người dùng Internet có thể xem những chỉnh sửa đó ngay lập tức. Tuy nhiên với web động thì chi phí đầu tư sẽ rất lớn. Trước đây, mỗi ứng dụng chạy với mô hình chủ - khách có chương trình riêng chạy trên máy khách phục vụ người sử dụng (ví dụ như giao diện người dùng) và phải được cài đặt trên từng máy cá nhân. Khi ứng dụng tại máy chủ được nâng cấp thì tất cả các máy khách cũng phải được nâng cấp theo.
Ngược lại, ứng dụng web linh hoạt tạo ra một loạt các tài liệu Web ở định dạng chuẩn được hỗ trợ bởi những trình duyệt phổ biến như HTML/XHTML. Ngôn ngữ kịch bản phía người dùng ở dạng ngôn ngữ chuẩn như JavaScript thường được thêm vào để có thêm những yếu tố động trong giao diện người dùng. Nói chung, mỗi trang Web đơn lẻ được gửi tới người dùng như một tài liệu ổn định, nhưng thứ tự các trang có thể cung cấp cảm giác trực quan, khi những gì người dùng nhập vào sẽ được trả về thông qua thành phần mẫu Web được nhúng vào trong đánh dấu trang. Trong quá trình giao dịch đó, trình duyệt Web sẽ thông dịch và hiển thị trang, và hoạt động như một người dùng chung cho bất kỳ ứng dụng Web nào.
Ứng dụng Web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình. Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó. Ứng dụng Web được dùng để hiện thực Webmail, Bán hàng trực tuyến, Đấu giá trực tuyến, Diễn đàn thảo luận, Weblog, Hệ quản trị nội dung, Phần mềm quản lý nguồn nhân lực và nhiều chức năng khác. Web Application Framework là một Framework được thiết kế để hỗ trợ việc phát triển các website động, các ứng dụng web và các dịch vụ web.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail. PHP Framework PHP framework là web framework được viết bằng PHP - một ngôn ngữ lập trình nguồn mở phổ biến nhất hiện nay. PHP framework làm cho sự phát triển của những ứng dụng web viết bằng ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp một cấu trúc cơ bản để xây dựng những ứng dụng đó. Hay nói cách khác, PHP framework giúp đỡ chúng ta thúc đẩy nhanh chóng quá trình phát triển ứng dụng, tiết kiệm được thời gian, tăng sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên.
Ngoài ra PHP Framework còn giúp những người mới bắt đầu có thể xây dựng các ứng dụng ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) một cách riêng biệt. Điều này cho phép chúng ta dành nhiều thời gian để tạo ra các ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong một project. PHP là một ngôn ngữ script khá mạnh mẽ dùng để xây dựng website, và hiện nay nó cũng đang có rất nhiều framework tốt như: zend framework, symfony, yii framework, codeigniter… được rất nhiều nhà phát triển ưa thích và sử dụng. Các PHP Framework đều được xây dựng theo chuẩn mô hình Model - View - Controller (MVC) và cung cấp rất nhiều lớp hỗ trợ xử lý về bảo mật, phân quyền, captcha, view helper, module manager, database, service… khi đó các lập trình viên sẽ xây dựng, phát triển website một cách dễ dàng và nhanh chóng.
Ý tưởng chung đằng sau cách thức làm việc của một PHP framework được kể đến là Model - View - Controller (MVC). MVC là một mô hình (kiến trúc) trong lập trình, cho phép tách biệt các mã nghiệp vụ (business logic) và giao diện (UI) thành các phần riêng biệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng một cách riêng lẻ. Mô hình Model - View - Controller (MVC) 1. Lịch sử mô hình MVC Sự ra đời của giao diện đồ họa (Graphical User Interface) và lập trình hướng đối tượng (Object Oriented Programming) vào những năm 70 của thế kỷ 20, cho phép lập trình viên làm việc với những thành phần đồ họa như những đối tượng đồ họa có thuộc tính và phương thức riêng của nó.
Không dừng lại ở đó, những nhà nghiên cứu ở phòng thí nghiệm Xerox PARC còn đi xa hơn khi cho ra đời cái gọi là kiến trúc MVC (viết tắt của Model – View – Controller). Kiến trúc MVC đã được ứng dụng để xây dựng rất nhiều thư viện đồ họa khác nhau. Tiêu biểu là bộ thư viện đồ họa của ngôn ngữ lập trình hướng đối tượng SmallTalk (cũng do Xerox PARC nghiên cứu và phát triển vào thập niên 70 của LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 15 thế kỷ 20). Ngày nay, trong nhiều các nền tảng lập trình chúng ta thấy sự có mặt của mô hình MVC, có thể kể đến (3): - Swing Components của Java - Document View Architecture trong Microsoft Visual C++ (VC++) - QT4 (KDE) - Apple’s Cocoa (Core Data) 1.
Khái niệm mô hình MVC Mô hình MVC (Model-View-Controller) là một kiến trúc phần mềm, đây là mô hình tổ chức code một cách hợp lý và có hệ thống. Mô hình MVC tách biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và làm việc theo dự án. Mô hình MVC Trong đó [3, 4]: - Model: Cách thức cung cấp dữ liệu và xử lý dữ liệu (đóng vai trò Phát triển). Các lớp thuộc thành phần Model thường thực hiện các tác vụ như truy vấn, thêm, xoá, cập nhật dữ liệu.
Khi dữ liệu trong Model thay đổi, thành phần View sẽ được cập nhật lại. Nói đơn giản hơn, Model là lớp thao tác với cơ sở dữ liệu là chính. - View: là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng (đóng vai trò thiết kế).