Trước đây Internet là một khái niệm khá xa lạ với mọi người. Internet dường như chỉ được sử dụng trong phạm vi nhỏ và chỉ dành cho những người có kiến thức về tin học.Nhưng ngày nay, người sử dụng Internet có thể là bất cứ ai, chỉ cần vài bước đơn giản là người dùng có thể sử dụng Internet một cách dễ dàng để thực hiện một số nhu cầu của mình như:xem phim, chơi game, đọc báo.. Có thể nói Internet là một một thư viện thông tin khổng lồ được cập nhật liên tục từng phút từng giây, và phát triển với tốc độ chóng mặt, nội dung của những thông tin đó sẽ được hiển thị trên những trang web. Với sự ra đời của Web 2.0 thì số lượng người sử dụng Internet lại càng tăng cao, và các ứng dụng của nó ngày càng phổ biến, điều đó được thể hiện trên những trang web với nhiều thể loại khác nhau như:web tin tức, web bán hàng, web giải trí.. Để có được những trang web như vậy thì phải cần đến những lập trình viên, họ là những người tạo nên những trang web với những ngôn ngữ lập trình khác nhau. Hiện nay có rất nhiều ngôn ngữ lập trình web như:ASP, ASP.NET, C#, VB, PHP, JAVA.. và phổ biến nhất hiện nay là ASP và PHP. Trong đó thì PHP được sử dụng rộng rãi vì đây là mã nguồn mở rất dễ sử dụng. Ngôn ngữ PHP có thêm những framework hỗ trợ người lập trình rất nhiều trong quá trình viết code. Đứng đầu trong nhóm framework đó thì Yii là giải pháp tốt nhất cho người lập trình vì các đặc tính nổi trội của nó, đây cũng là lý do em chọn đề tài tìm hiểu về Yii và xây dựng ứng dụng.
TRƯỜNG ĐẠI HỌC DÂN LẬP PHƯƠNG ĐÔNG KHOA: CÔNG NGHỆ THÔNG TIN NGÀNH: QUẢN TRỊ MẠNG ******* ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: 6 TÌM HIỂU VỀ Yii FRAMEWORK VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA Hà Nội 2012 TRƯỜNG ĐẠI HỌC DÂN LẬP PHƯƠNG ĐÔNG KHOA: CÔNG NGHỆ THÔNG TIN NGÀNH: QUẢN TRỊ MẠNG ******* ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: TÌM HIỂU VỀ Yii FRAMEWORK VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA Người thực hiện: PHẠM THỊ HOÀI THƯƠNG Mã số:508100180 Người hướng dẫn: TH.S ĐỖ THANH BÌNH Hà Nội 2012 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa MỤC LỤC: BỐ CỤC CỦA ĐỒ ÁN 2 BỐ CỤC CỦA ĐỒ ÁN . 2 1.1. SYMFONY 3 1.1. SYMFONY . 3 2.1. KHÁI QUÁT VỀ YII: 7 2.1.1. Lịch sử phát triển: . 7 2.1.2. Các ưu điểm: 7 2.2. KIẾN TRÚC YII FRAMEWORK: .8 2.3. CẤU TRÚC THƯ MỤC YII: 10 2.4 .APPLICATION: .11 Application Base Directory: 12 Application Components: 12 Core Application Components: . 12 2.5 .MODEL-TRAO ĐỔI THÔNG TIN: 14 2.6 .CONTROLER-BỘ ĐIỂU KHIỂN: .19 2.7 .VIEW-HIỆN DỮ LIỆU: 20 Layout: .21 Widget: .22 System View: .23 4.2.3. Các biểu tượng, hình vẽ và ký hiệu sử dụng trong bài PTTKHT 36 c) Biểu đồ luồng dữ liệu mức dưới đỉnh: . 44 4.4. SƠ ĐỒ THỰC THỂ QUAN HỆ .53 .84 SVTH:Phạm Thị Hoài Thương - MS:508100180 3 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa SVTH:Phạm Thị Hoài Thương - MS:508100180 4 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa LỜI NÓI ĐẦU: Trước đây Internet là một khái niệm khá xa lạ với mọi người. Internet dường như chỉ được sử dụng trong phạm vi nhỏ và chỉ dành cho những người có kiến thức về tin học.Nhưng ngày nay, người sử dụng Internet có thể là bất cứ ai, chỉ cần vài bước đơn giản là người dùng có thể sử dụng Internet một cách dễ dàng để thực hiện một số nhu cầu của mình như:xem phim, chơi game, đọc báo Có thể nói Internet là một một thư viện thông tin khổng lồ được cập nhật liên tục từng phút từng giây, và phát triển với tốc độ chóng mặt, nội dung của những thông tin đó sẽ được hiển thị trên những trang web. Với sự ra đời của Web 2.0 thì số lượng người sử dụng Internet lại càng tăng cao, và các ứng dụng của nó ngày càng phổ biến, điều đó được thể hiện trên những trang web với nhiều thể loại khác nhau như:web tin tức, web bán hàng, web giải trí Để có được những trang web như vậy thì phải cần đến những lập trình viên, họ là những người tạo nên những trang web với những ngôn ngữ lập trình khác nhau. Hiện nay có rất nhiều ngôn ngữ lập trình web như:ASP, ASP.NET, C#, VB, PHP, JAVA và phổ biến nhất hiện nay là ASP và PHP. Trong đó thì PHP được sử dụng rộng rãi vì đây là mã nguồn mở rất dễ sử dụng. Ngôn ngữ PHP có thêm những framework hỗ trợ người lập trình rất nhiều trong quá trình viết code. Đứng đầu trong nhóm framework đó thì Yii là giải pháp tốt nhất cho người lập trình vì các đặc tính nổi trội của nó, đây cũng là lý do em chọn đề tài tìm hiểu về Yii và xây dựng ứng dụng. Hà Nội ngày tháng năm 2012 SVTH: Phạm Thị Hoài Thương Mã số: 508100180 SVTH:Phạm Thị Hoài Thương - MS:508100180 1 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa BỐ CỤC CỦA ĐỒ ÁN Nội dung của đồ án gồm 5 chương, với nội dung từng chương được trình bài theo bố cục sau: Chương 1: Mở đầu: Giới thiệu về một số framework phổ biến của PHP hiện nay như:Prado, Symfony, CodeIgniter, CakePHP, Yii. Chương 2: Các thành phần trong Yii framework: Trình bài về Yii framework:khái quát, lịch sử, các ưu điểm chính.Giới thiệu chi tiết về cấu trúc của Yii, đặt biệt là về mô hình MVC Chương 3:Các kĩ thuật áp dụng trong ứng dụng minh hoạ Giới thiệu về những chức năng của Yii và việc áp dụng nó vào việc xây dựng ứng dụng minh hoạ như:các thành phần mở rộng(extension), ajax Chương 4:Xây dựng ứng dụng bằng Yii Giới thiệu về kết quả của ứng dụng đã được xây dựng bằng Yii framework:website bán điện thoại di động. Chương 5 : Phụ lục: Một số đoạn code chính trong bài. Chương 6: Kết luận: Tổng kết lại những kiến thức về Yii framework. Nêu lên những kết quả thu được từ đồ án:đó là những kiến thức về mặt lý thuyết và ứng dụng mà em đã có. Đồng thời đưa ra những kế hoạch phát triển ứng trong tương lai. SVTH:Phạm Thị Hoài Thương - MS:508100180 2 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa Chương 1 : MỞ ĐẦU 1.1. SYMFONY Hinh 1-1:Symfony Ban đầu Symfony do một cá nhân phát triển chỉ dành riêng cho công ty. Sau này được công bố và có phiên bản chính thức 1.1 và phiên bản 1.2 cho các lập trình viên. Được đánh giá thích hợp cho những dự án lớn. Symfony được viết hoàn toàn bằng PHP5 theo mô hình MVC(Model-View-Controller), chứa nhiều công cụ ứng dụng và lớp giúp phát triển nhanh một ứng dụng web. Tương thích với hầu hết các công cụ cơ sở dữ liệu có sẵn, bao gồm cả MySQL, PostgreSQL, Oracle, và Microsoft SQL Server. Dễ dàng mở rộng và tích hợp các thư viện của nhà cung cấp khác. 1.2. PRADO Hình 1-2: Prado Viết tắt của PHP Rapid Application Development Object-oriented. Là một framework phát triển ứng dụng web về thành phần. Một thành phần Prado là sự kết hợp của một tập tin (trong XML), mẫu HTML và một lớp PHP. Prado thành phần được kết hợp với nhau để tạo thành phần lớn hơn hoặc toàn trang. Nó cung cấp những ứng dụng tiện ích sau:mỗi thứ trong prado là một thành phần tái sử dụng, dễ sử dụng, tạo và sử dụng thành phần cực kì dễ dàng, khai thác tính năng kiểm tra lỗi mạnh mẽ, sử dụng bộ nhớ cache tăng hiệu xuất cho ứng dụng web SVTH:Phạm Thị Hoài Thương - MS:508100180 3 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa 1.3. CAKEPHP Hình 1-3: CakePHP Là một framework mã nguồn mở, miễn phí dành cho việc phát triển ứng dụng web bằng PHP mục đích của CakePHP là cung cấp một framework cho người sử dụng PHP phát triển những ứng dụng web nhanh, mạnh mà không mất tính linh hoạt của nó. Được xây dựng theo mô hình MVC, hỗ trợ tạo kết nối cơ sở dữ liệu một cách dễ dàng, sinh code tự động, cung cấp khả năng bắt lỗi, tích hợp nhiều thư viện hỗ trợ ajax, HTML. Có sẵn các công cụ xử lý Email, Security, Session, Cookies, Request Handling 1.4. ZEND Hình 1-4: Zend Zend Framework được tổ chức của công ty Zend đưa vào xây dựng vào đầu năm 2005. Nó là một Framework hoàn chỉnh chứa đầy đủ mọi thứ chúng ta cần để phát triển ứng dụng web. Nó bao gồm cả thành phần mô hình kiến trúc MVC SVTH:Phạm Thị Hoài Thương - MS:508100180 4 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa để đảm bảo website được tổ chức theo cách tốt nhất, ngoài ra nó còn có các thành phần khác như xác thực (authentication), tìm kiếm(searching), localization, PDF, email và web services. Hỗ trợ đầy đủ các tính năng cần thiết cho ứng dụng như kiểm tra lỗi (debug), bộ nhớ điệm(cache), bộ lọc(filter). 1.5. CODEIGNITER Hình 1-5:CodeIgniter CodeIgnniter là một nền tảng của ứng dụng web mã nguồn mở được viết bằng ngôn ngữ PHP bởi Rick Elli. Được thiết kế theo mô hình MVC, gói cài đặt nhỏ gọn, tốc độ nhanh:nhờ cơ chế lưu vào bộ nhớ đệm, miễn phí:cho phép người dùng thay đổi, phát triển và phân phối mã nguồn mở, hệ thống thư viện phong phú, cơ chế kiểm tra dữ liệu chặc chẽ. 1.6. GIỚI THIỆU YII VÀ FRAMEWORD Yii framework là một framework nổi bật hiện nay. Được xây dựng theo mô hình MVC, gói cài đặt nhanh chóng, hiệu suất nhanh, miễn phí, sử dụng dễ dàng, dễ quản lý sửa code, hệ thống thư viện phong phú. Yii là một framework có rất nhiều tính năng rất nổi bậc:nhanh, gọn, hiệu suất làm việc cao SVTH:Phạm Thị Hoài Thương - MS:508100180 5 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa Hình 1- 6:Hiệu suất Yii RPS (request per page) viết tắt của “yêu cầu mỗi giây” trong đó mô tả bao nhiêu yêu cầu một ứng dụng được viết trong một khuôn khổ có thể xử lý mỗi giây . SVTH:Phạm Thị Hoài Thương - MS:508100180 6 . 3 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa SVTH:Phạm Thị Hoài Thương - MS:508100180 4 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh. - MS:508100180 6 Tìm hiểu về Yii frameword và xây dựng ứng dụng minh họa Chương 2: GIỚI THIỆU VỀ YII FRAMEWORK 2.1. KHÁI QUÁT VỀ Yii: Yii là từ viết tắt