TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LỚN MÔN KIẾN TRÚC PHẦN MỀM Nghiên cứu, tìm hiểu và xây dựng tài liệu kiến trúc của Framework nguồn mở Yii Giáo viên hướng dẫn: TS. Cao Tuấn Dũng Học viên thực hiện : Vũ Văn Soái CB120109 Phạm Văn Phong CB120103 Nguyễn Quỳnh Vân CB120123 Lê Thị Trang CB120118 Nguyễn Văn Chiến CB121349 Nguyễn Văn Thông CB121357 Lớp: Công nghệ thông tin 2 (KT) Chuyên ngành: Công nghệ thông tin (KT) HÀ NỘI 04 – 2013 MỤC LỤC LỜI NÓI ĐẦU 2 CHƯƠNG 1. TỔNG QUAN VỀ YII 3 1.1. Yii là gì? 3 1.2. Đặc tính 3 1.3. Ưu Điểm 5 1.4 Cài đặt Yii 7 CHƯƠNG 2. CÁC TÍNH NĂNG CỦA YII FRAMEWORK 8 2.1. Mô hình thiết kế ModelViewController (MVC) 8 2.2. Database Access Objects (DAO), Query Builder, Active Record, DB Migration 16 2.3. Form nhập và kiểm tra (validate) 16 2.4. Các widget hỗ trợ Ajax(AJAXenabled widgets) 18 2. 5. Xác thực và phân quyền 20 2. 6. Giao diện 20 2. 7. Dịch vụ Web 21 2. 8. Đa ngôn ngữ (I18N) và địa phương hóa (L10N) 21 2.9. Lớp hỗ trợ cache 21 2.10. Xử lý lỗi và Log 22 2.11. Bảo mật 22 2.12. Kiểm thử 22 2.13. Tự động tạo code (Automatic code generation) 22 2.14. Tuân thủ theo XHTML 22 2.15. Thuần hướng đối tượng 23 2.16. Dễ dàng sử dụng với code của bên cung cấp thứ 3 23 2.17. Tài liệu chi tiết 23 2.18. Hệ thống thư viện mở rộng 23 CHƯƠNG 3. SO SÁNH YII VÀ CÁC FRAME KHÁC 25 CHƯƠNG 4. TỔNG KẾT 32 LỜI NÓI ĐẦU Nhiều năm qua đã đánh dấu “sự bùng nổ của các Framework”, và hầu như tất cả mọi người tham gia phát triển ứng dụng web ngày nay là một phần của thế hệ Framework”. Một Framework PHP dễ dàng hơn, mở rộng hơn và hiệu quả hơn để đáp ứng nhu cầu ngày càng tăng của các nhà phát triển ứng dụng Web là điều cần thiết. Vì vậy Yii Framework đã ra đời để đáp ứng các nhu cầu trên. Cho dù là một developer, phát triển một website nhỏ, đơn giản hay một nhóm developer phát triển một website đòi hỏi sự phức tạp cao, thì sử dụng Yii framework cũng có thể tăng thêm cho nhóm phát triển về các kinh nghiệm bổ sung, sự chuyên nghiệp và nguồn tài nguyên hiệu quả. Tất cả đều miễn phí. Chúng ta chỉ tập trung giải quyết tốt các nhiệm vụ cụ thể được yêu cầu mà không phải quan tâm vào việc viết các đoạn code. Qua đây, chúng em xin gửi lời cảm ơn sâu sắc đến TS Cao Tuấn Dũng đã hướng dẫn, tạo điều kiện tốt để chúng em hoàn thành tiểu luận của mình. Hà Nội, ngày 2 tháng 4 năm 2013 Nhóm trưởng Vũ Văn Soái CHƯƠNG 1. TỔNG QUAN VỀ YII 1.1. Yii là gì? Yii là một PHP framework được xây dựng để phát triển các ứng dụng web quy mô lớn dựa trên nền tảng component (thành phần sử dụng lại). Yii cho phép tái sử dụng tối đa các thành phần của hệ thống (ứng dụng) để tăng tốc độ viết ứng dụng. Tên Yii (phát âm là `i:`) theo tiếng Anh là easy, efficient và extensible. Yii được viết bằng PHP5, chủ yếu tập trung vào highperformance, componentbased cho phép dễ dàng tạo cũng như bảo trị các ứng dụng web, giúp làm việc hiệu quả hơn. Yii nói chung là một framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại ứng dụng Web. Yii rất nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc biệt hữu dụng cho ứng dụng web có dung lượng dữ liệu trên đường truyền lớn như web portal, forum, CMS, ecommerce... 1.2. Đặc tính Easy: Để phát triển ứng dụng trên Yii cần biết PHP và OOP, ứng dụng được viết và bảo trì dựa trên các PHP class được thừa kế từ core Yii Framework Efficient: Ứng dụng Yii được viết theo mô hình MVC (ModelViewController) điều này giúp tăng khả năng tái sử dụng code, dễ dàng bảo trì cũng như nâng cấp sau này mà không ảnh hưởng nhiều đến hệ thống hiện tại. Việc tách biệt giữa business logic và presentation tăng khả năng tùy biến cho các site khác nhau. Extensible: Hệ thống hỗ trợ sẵn ajax, web service, ADO, Active Record, cache, i18n, RBAC, theme… Ngoài các thư viện được cung cấp kèm theo, có thể dễ dàng phát triển các extension theo nhu cầu hoặc sử dụng các thư viện khác như Zend chẳng hạn. Security: Tăng cường khả năng bảo mật, tránh các kiểu tấn công như SQL injection, crosssite scripting (XSS), crosssite request forgery (CSRF), and cookie tampering Yii tốt hơn các framework khác bởi tính hiệu quả, nhiều tính năng và có tài liệu hướng dẫn đầy đủ (tài liệu từ nhà phát hành). Yii được thiết kế cẩn thận từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng Web nghiêm ngặt. Yii không phải là sự trộn lẫn của các dự án đã qua hay tập hợp các 3rd party library. Nó là kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của các framework khác. Yii là một Framework dễ phát triển
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÀI TẬP LỚN MÔN: KIẾN TRÚC PHẦN MỀM Nghiên cứu, tìm hiểu và xây dựng tài liệu kiến trúc của Framework nguồn mở Yii Giáo viên hướng dẫn: TS. Cao Tuấn Dũng Học viên thực hiện : Vũ Văn Soái CB120109 Phạm Văn Phong CB120103 Nguyễn Quỳnh Vân CB120123 Lê Thị Trang CB120118 Nguyễn Văn Chiến CB121349 Nguyễn Văn Thông CB121357 Lớp: Công nghệ thông tin 2 (KT) Chuyên ngành: Công nghệ thông tin (KT) HÀ NỘI 04 – 2013 Trang 1 MỤC LỤC TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 1 LỜI NÓI ĐẦU 3 CHƯƠNG 1. TỔNG QUAN VỀ YII 4 1.1. Yii là gì? 4 1.2. Đặc tính 4 1.3. Ưu Điểm 6 1.4. Cài đặt Yii 8 CHƯƠNG 2. CÁC TÍNH NĂNG CỦA YII FRAMEWORK 9 2.1. Mô hình thiết kế Model-View-Controller (MVC) 9 2.2. Database Access Objects (DAO), Query Builder, Active Record, DB Migration 18 2.3. Form nhập và kiểm tra (validate) 18 2.4. Các widget hỗ trợ Ajax(AJAX-enabled widgets) 20 2. 5. Xác thực và phân quyền 22 2. 6. Giao diện 22 2. 7. Web services 23 2. 8. Đa ngôn ngữ (I18N) và địa phương hóa (L10N) 23 2.9. Lớp hỗ trợ cache 24 2.10. Xử lý lỗi và Log 24 2.11. Bảo mật 24 2.12. Kiểm thử 24 2.13. Tự động tạo code (Automatic code generation) 25 2.14. Tuân thủ theo XHTML 25 2.15. Thuần hướng đối tượng 25 2.16. Dễ dàng sử dụng với code của bên cung cấp thứ 3 25 2.17. Tài liệu chi tiết 25 2.18. Hệ thống thư viện mở rộng 25 CHƯƠNG 3. SO SÁNH YII VÀ CÁC FRAME KHÁC 28 Trang 2 LỜI NÓI ĐẦU Nhiều năm qua đã đánh dấu “sự bùng nổ của các Framework”, và hầu như tất cả mọi người tham gia phát triển ứng dụng web ngày nay là một phần của thế hệ "Framework”. Một Framework PHP dễ dàng hơn, mở rộng hơn và hiệu quả hơn để đáp ứng nhu cầu ngày càng tăng của các nhà phát triển ứng dụng Web là điều cần thiết. Vì vậy Yii Framework đã ra đời để đáp ứng các nhu cầu trên. Cho dù là một developer, phát triển một website nhỏ, đơn giản hay một nhóm developer phát triển một website đòi hỏi sự phức tạp cao, thì sử dụng Yii framework cũng có thể tăng thêm cho nhóm phát triển về các kinh nghiệm bổ sung, sự chuyên nghiệp và nguồn tài nguyên hiệu quả. Tất cả đều miễn phí. Chúng ta chỉ tập trung giải quyết tốt các nhiệm vụ cụ thể được yêu cầu mà không phải quan tâm vào việc viết các đoạn code. Qua đây, chúng em xin gửi lời cảm ơn sâu sắc đến TS Cao Tuấn Dũng đã hướng dẫn, tạo điều kiện tốt để chúng em hoàn thành tiểu luận của mình. Hà Nội, ngày 2 tháng 4 năm 2013 Nhóm trưởng Vũ Văn Soái Trang 3 CHƯƠNG 1. TỔNG QUAN VỀ YII 1.1. Yii là gì? Yii là một PHP framework được xây dựng để phát triển các ứng dụng web quy mô lớn dựa trên nền tảng component (thành phần sử dụng lại). Yii cho phép tái sử dụng tối đa các thành phần của hệ thống (ứng dụng) để tăng tốc độ viết ứng dụng. Tên Yii (phát âm là `/i:/`) theo tiếng Anh là easy, efficient và extensible. Yii được viết bằng PHP5, chủ yếu tập trung vào high-performance, component-based cho phép dễ dàng tạo cũng như bảo trị các ứng dụng web, giúp làm việc hiệu quả hơn. Yii - nói chung là một framework phát triển ứng dụng Web nên có thể dùng để viết mọi loại ứng dụng Web. Yii rất nhẹ và được trang bị giải pháp cache tối ưu nên nó đặc biệt hữu dụng cho ứng dụng web có dung lượng dữ liệu trên đường truyền lớn như web portal, forum, CMS, e-commerce 1.2. Đặc tính Easy: Để phát triển ứng dụng trên Yii cần biết PHP và OOP, ứng dụng được viết và bảo trì dựa trên các PHP class được thừa kế từ core Yii Framework Efficient: Ứng dụng Yii được viết theo mô hình MVC (Model-View- Controller) điều này giúp tăng khả năng tái sử dụng code, dễ dàng bảo trì cũng như nâng cấp sau này mà không ảnh hưởng nhiều đến hệ thống hiện tại. Việc tách biệt giữa business logic và presentation tăng khả năng tùy biến cho các site khác nhau. Extensible: Hệ thống hỗ trợ sẵn ajax, web service, ADO, Active Record, cache, i18n, RBAC, theme… Ngoài các thư viện được cung cấp kèm theo, có thể dễ dàng phát triển các extension theo nhu cầu hoặc sử dụng các thư viện khác như Zend chẳng hạn. Trang 4 Security: Tăng cường khả năng bảo mật, tránh các kiểu tấn công như SQL injection, cross-site scripting (XSS), cross-site request forgery (CSRF), and cookie tampering Yii tốt hơn các framework khác bởi tính hiệu quả, nhiều tính năng và có tài liệu hướng dẫn đầy đủ (tài liệu từ nhà phát hành). Yii được thiết kế cẩn thận từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng Web nghiêm ngặt. Yii không phải là sự trộn lẫn của các dự án đã qua hay tập hợp các 3rd party library. Nó là kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của các framework khác. Yii là một Framework dễ phát triển Để chạy một ứng dụng web Yii, tất cả những gì cần là download Yii Framework phiên bản mới nhất và một máy chủ hỗ trợ PHP 5.1.0 hoặc cao hơn. Để phát triển với Yii, chỉ cần biết PHP và lập trình hướng đối tượng (OOP). Không cần phải học bất kỳ hệ điều hành hoặc ngôn ngữ lập trình mới nào. Xây dựng một ứng dụng Yii chủ yếu liên quan đến việc viết và duy trì các lớp PHP của theo yêu cầu dự án, một số trong đó sẽ mở rộng từ các lớp thành phần chính của Yii Framework. Yii kết hợp rất nhiều các ý tưởng tuyệt vời và tích lũy từ các Framework và ứng dụng web nổi tiếng khác. Vì vậy, nếu đang tìm hiểu Yii sau khi đã sử dụng các Framework phát triển khác, đây là điều kiện để có thể đánh giá Framework nào ưu điểm hơn và định hướng cho dự án phù hợp. Yii cũng bao gồm một quy ước cấu hình, góp phần để dễ sử dụng. Điều này có nghĩa rằng Yii đã quy ước cho hầu như tất cả các hệ thống ứng dụng. Nếu thực hiện theo các quy ước, sẽ code ít hơn và tốn ít thời gian phát triển ứng dụng của hơn. Nếu muốn, Yii cho phép tùy biến và linh hoạt mà không phải theo quy ước của Yii. Trang 5 Yii có hiệu xuất cao Yii đã được thiết kế cẩn thận để cho phép gần như tất cả đoạn code được phát triển và chỉnh sửa để đáp ứng bất kỳ yêu cầu nào. Nếu muốn phát triển code mở rộng hơn thành các công cụ hữu ích cho các nhà phát triển khác sử dụng, Yii cung cấp theo các bước và hướng dẫn để giúp bạn dễ dàng phát triển. Điều này cho phép đóng góp vào danh sách ngày càng tăng các tính năng của Yii và tích cực tham gia trong việc mở rộng. Điều gì đáng chú ý về Yii ? là dễ sử dụng, hiệu suất cao, và chiều sâu mở rộng không tốn kém. Yii được đóng gói với các tính năng giúp bạn đáp ứng những nhu cầu cao trên ứng dụng web hiện nay. AJAX cho phép web tích hợp các widgets, thực thi của một kiến trúc MVC, DAO và quan hệ lớp ActiveRecord, kiểm soát truy cập, xem video chuyên nghiệp, quốc tế (I18N),và nội địa hoá (l10n), đây là các tính năng vượt trội của Yii. Với phiên bản 1.1, Framework chính bây giờ là được đóng gói với một thư viện mở rộng chính thức được gọi là Zii. Những mở rộng được phát triển và duy trì bởi các thành viên chủ chốt tiếp tục mở rộng tính năng của Yii. 1.3. Ưu Điểm Yii tốt hơn các Framework khác bởi tính hiệu quả, nhiều tính năng. Yii được thiết kế cẩn thận từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng Web nghiêm ngặt. Yii là kết quả của sự kết hợp những gì tốt nhất của các Framework đi trước. Nó là kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của các Framework khác. Trước đó, Qiang đã từng phát triển PRADO nhiều năm. Những năm kinh nghiệm và đánh giá của người sử dụng, cần một Framework PHP dễ dàng hơn, mở rộng hơn và hiệu quả hơn để đáp ứng nhu cầu ngày càng tăng của các nhà phát triển ứng dụng web. Số liệu cực kỳ ấn tượng khi so sánh với các Trang 6 Framework PHP khác dựa trên hiệu suất của nó ngay lập tức đã thu hút sự chú ý rất tích cực. Khả năng tái sử dụng và mở rộng của Yii rất cao. Yii là 1 Framework hoàn toàn hướng đối tượng. Mọi thứ trong Yii đều có thể tái sử dụng và mở rộng rất dễ dàng. Yii hỗ trợ trên tất cả các DBMS bởi PDO (PHP Data Object). Hiệu suất xử lý của ZendFramework khá là chậm, vì kiến trúc của nó quá đồ sộ và phức tạp. Hiện tại có rất nhiều người ưa thích sử dụng Wordpress hay Joomla nhưng chỉ phù hợp xây dựng các website nhỏ, cần làm nhanh, vì có sẳn nhiều thứ, cộng đồng và tài liệu nhiều Khi nâng cấp và bảo trì rất khó khăn, tốn nhiều thời gian. Hiệu suất xử lý của Framework Yii hiệu quả cao. Biểu đồ dưới đây cho thấy hiệu quả hơn hẳn so với các Framework PHP khác. RPS là viết tắt của “Request per second” nhằm mô tả việc làm mới ứng dụng có thể xử lý trong mỗi giây. Số càng cao thì tính hiệu quả càng lớn của Framework. Sự thuận lợi này của Yii rất cần thiết cho người sử dụng khi tương tác với ứng dụng. Trang 7 1.4. Cài đặt Yii Yêu cầu Sau khi cài đặt Yii, kiểm tra máy chủ có đáp ứng các yêu cầu. Có thể làm như vậy bằng cách truy cập kiểm tra kịch bản yêu cầu tại followingURL trong một trình duyệt web: http://hostname/path/to/yii/requirements/index.php Yêu cầu tối thiểu của Yii là máy chủ web hỗ trợ PHP 5.1.0 hoặc cao hơn. Yii đã được thử nghiệm với máy chủ Apache HTTP trên hệ điều hành Windows và Linux. Yii cũng có thể chạy trên các máy chủ web khác và các nền tảng cung cấp PHP 5 được hỗ trợ. Cài đặt: Cài đặt Yii qua 2 bước sau: • Tải về Yii Framework từ yiiframework.com. Trang 8 • Giải nén Yii vào một thư mục Web có thể truy cập. CHƯƠNG 2. CÁC TÍNH NĂNG CỦA YII FRAMEWORK 2.1. Mô hình thiết kế Model-View-Controller (MVC) Yii framework sử dụng kiến trúc đã được kiểm chứng MVC, hỗ trợ việc phân tách các phần liên quan với nhau. MCV (Model View Controller) là tên một phương pháp chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là models, views, và controllers. Trang 9 Hình 2.1. Mô hình MVC Models (Tầng dữ liệu): là một đối tượng hoặc một tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình, ví dụ như các dữ liệu được lưu trong database, dữ liệu từ một hệ thống các ứng dụng khác như legacy system, file system, mail system … Thông thường trong kiến trúc MVC, Model là phần rất quan trọng trong cả dự án, nó có quan hệ mật thiết với cơ sở dữ liệu. Yii có 2 loại model: form model là lớp (CFormModel) và active record model là lớp (CActiveRecord). Cả hai được mở rộng từ lớp (CModel). CFormModel đại diện cho mô hình dữ liệu do người dùng nhập vào ở dạng HTML. Sau đó lưu dữ liệu này vào bộ nhớ và thông qua CActiveRecord dữ liệu được lưu vào CSDL. Trang 10 [...]... mô hình ActiveRecord của ROR jQuery: jQuery được tích hợp sẵn trong Yii và được sử dụng như 1 Javascripts framework Symfony: Yii tham khảo cách thiết kế các bộ lọc (filter design) của Sym và kiến trúc plug-in của nó Joomla: Yii tham khảo thiết kế module (modular design) và message translation scheme Trang 28 Khác với các Framework khác, trong Yii kiến trúc MVC là để tách biệt các phần trong chương trình,... Zend và Symfony Kế thừa những gì tinh túy nhất Prado, Ruby On Rails, kiến trúc plugin của Symfony, thiết kế Module của Joomla cũng như JQuery được tích hợp sẵn Yii Framework xứng đáng là một vũ khí mới của dân Lập trình Do thời gian thực hiện đề tài có hạn, nên nhóm chúng em mới chỉ tìm hiểu được một cách tổng quan về Yii, xây dựng được 1 số ứng dụng nhỏ trong thực tế Rất mong nhận được sự đóng góp ý kiến. .. các phần trong chương trình, làm cho chương trình trở nên rõ ràng, dễ gỡ rối Yii kết hợp những ý tưởng và những kiến thức của các framework và ứng dụng lập trình web đi trước nó Trang 29 Dưới đây là 1 số so sánh giữa Yii và 1 số framework khác mà nhóm em đã tìm hiểu được Top 10 Hot PHP Frameworks 1 Yii (131 votes) discuss Yii 2 CodeIgniter (104 votes) discuss CodeIgniter 3 CakePHP (76 votes) discuss... Zend Framework trong ứng dụng của Yii 2.17 Tài liệu chi tiết Mọi phương thức đơn lẻ hoặc thuộc tính đều được viết rõ ràng trong tài liệu Sách và hướng dẫn đầy đủ cũng có sẵn, cung cấp 1 hệ thống học Yii 2.18 Hệ thống thư viện mở rộng Yii cung cấp 1 hệ thống thư viện mở rộng bao gồm những thành phần do người dùng đóng góp Điều này giúp cho danh sách các tính năng không bao giờ dừng lại Có thể thử dùng Yii. .. lẫn của các dự án đã qua hay tập hợp các 3rd party library Nó là kết quả của kinh nghiệm phát triển ứng dụng Web lâu năm của các tác giả và sự phân tích kỹ lưỡng, tận dụng những điểm mạnh của các framework khác Không chỉ là MVC framework mà Yii còn là một framework hướng component nên mức độ tái sử dụng giữa các project phát triển là rất cao Ngoài ra Yii còn có hiệu năng và tốc độ cao hơn Zend và Symfony... TỔNG KẾT Yii là một MVC Framework và có cấu trúc tuần tự cho mỗi phần của Model, View, và Controller điều này giúp tăng khả năng tái sử dụng code dễ dàng bảo trì cũng như nâng cấp sau này mà không ảnh hưởng nhiều đến hệ thống hiện tại Không chỉ là MVC framework mà Yii còn là một framework hướng component nên mức độ tái sử dụng giữa các project phát triển là rất cao Ngoài ra Yii còn có hiệu năng và tốc... thành phần của Yii và bộ tạo code được tuân thủ theo đúng chuẩn XHTML 2.15 Thuần hướng đối tượng Yii framework tuân thủ theo đúng mô hình khắt khe cuả OOP Và nó không hề define bất kì 1 global biến hay hàm nào Và các hệ thống class phân cấp cho phép sử dụng lại và tùy biến tới tối đa 2.16 Dễ dàng sử dụng với code của bên cung cấp thứ 3 Yii được thiết kế cẩn thận để có thể làm việc tốt với code của bên... cập cơ sở dữ liệu theo hướng đối tượng Mỗi đối tượng AR trong Yii là một thể hiện của CActiveRecord là kết quả của 1 dòng dữ liệu của bảng được tạo trong CSDL Views (Tầng giao diện): là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa …, để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong... Prado, Ruby On, kiến trúc plugin của Symfony, thiết kế Module của Joomla cũng như JQuery được tích hợp sẵn Dưới đây là 1 số ứng dụng mà Yii đã học tập: Prado: Yii làm theo những ý tưởng về component-base, "event-driven programming paradigm", các lớp database abstraction, kiến trúc ứng dụng theo các module, "internationalization and localization", Ruby on Rails: Yii kế thừa các quy ước của ROR thông... tích URL và chức năng tạo ra • user: CWebUser - thể hiện các thông tin cá nhân của người sử dụng hiện tại • themeManager: CthemeManager - quản lý các giao diện Trang 27 CHƯƠNG 3 SO SÁNH YII VÀ CÁC FRAME KHÁC Yii tốt hơn các framework khác bởi tính hiệu quả, nhiều tính năng và có tài liệu hướng dẫn đầy đủ Yii được thiết kế cẩn thận từ ban đầu để đáp ứng nhu cầu phát triển ứng dụng Web nghiêm ngặt Yii không . dẫn: TS. Cao Tuấn Dũng Học viên thực hiện : Vũ Văn Soái CB12 010 9 Phạm Văn Phong CB12 010 3 Nguyễn Quỳnh Vân CB12 012 3 Lê Thị Trang CB12 011 8 Nguyễn Văn Chiến CB1 213 49 Nguyễn Văn Thông CB1 213 57 Lớp:. tin (KT) HÀ NỘI 04 – 2 013 Trang 1 MỤC LỤC TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 1 LỜI NÓI ĐẦU 3 CHƯƠNG 1. TỔNG QUAN VỀ YII 4 1. 1. Yii là gì? 4 1. 2. Đặc tính 4 1. 3. Ưu Điểm 6 1. 4. Cài đặt Yii 8 CHƯƠNG. Xử lý lỗi và Log 24 2 .11 . Bảo mật 24 2 .12 . Kiểm thử 24 2 .13 . Tự động tạo code (Automatic code generation) 25 2 .14 . Tuân thủ theo XHTML 25 2 .15 . Thuần hướng đối tượng 25 2 .16 . Dễ dàng sử dụng với