Chú ý: hiện này đã có thư viện Phalcon, tốc độ, hiệu năng lập trình tốt hơn hẳn YII, Techmaster khuyến cáo các bạn chuyển qua dùng Phalcon. Xem bài viết “Tại sao chúng tôi chọn Phalcon – vài kinh nghiệm chia sẻ

Slide dưới đây, tác giả trình bày một số điểm căn bản khi học lập trình và viết ứng dụng web trên YII Framework.

Giới thiệu về Yii Framework

Trang chủ: http://yiiframework.com
Diễn đàn: http://www.yiiframework.com/forum/
Yêu cầu: Webserver hỗ trợ và cài đặt PHP 5.1.x trở lên

Lập trình PHP

1. Khái quát

Yii là từ viết tắt của từ Yes, it is! Hoặc cũng có thể là viết ngắn gọn 3 chữ cái đầu của Easy (dễ dàng), Efficient (hiệu suất) và Extensible (khả năng mở rộng).

Yii là 1 PHP Framework mã nguồn mở và hoàn toàn miễn phí, (đọc thêm ở đây: http://yiivn.com/showthread.php?tid=5) có hiệu năng cao, giúp bạn phát triển tốt nhất các ứng dụng Web 2.0. Yii cho phép tái sử dụng tối đa các thành phần của ứng dụng để tăng tốc độ viết ứng dụng.

2. Lịch sử

Tiền thân của Yii chính là PRADO framework. Tác giả của Yii là Qiang Xue, 1 người Trung Quốc. Qiang Xue bắt đầu xây dựng Yii vào khoảng 1/1/2008. Có nghĩa là tính tới nay mới được 3 năm. Tuy nhiên Qiang Xue cũng chính là người đã từng phát triển và maintain PRADO, tuy nhiên, nhận thấy PRADO có nhiều hạn chế và bản thân Qiang Xue muốn phát triển 1 framework mang những đặc điểm như dễ sử dụng, dễ tiếp cận, bảo mật cao và chuyên nghiệp hơn nên QX đã sử dụng kinh nghiệm của mình trong thời gian phát triển PRADO để viết ra Yii. Sau gần 1 năm phát triển, tới 8/12/20008, bản Yii đầu tiên đã được public và nhanh chóng được mọi người đón nhận.

Yii đang nổi lên là 1 framework tốt bởi hiếm có nhóm phát triển framework nào bỏ đi 1 framework để làm cái thứ hai với những kn đã có từ cái framework (mà số fan sử dụng không hề nhỏ nhé) như nhóm làm Yii.

Ưu điểm của Yii là tính đơn giản trong cách viết kết hợp với thế mạnh “scripting” của PHP và cơ chế mảng index (associative array). Yii cũng được viết bởi những người viết “thực tế” hơn Zend nên có sẵn những công cụ “hợp thời trang” nhất cho người viết ứng dụng.

Yii là framework MVC nhưng có kiến trúc OOP rất tốt và lại hướng component nên mức độ tái sử dụng giữa các project rất cao. Yii đặc biệt chạy nhanh hơn Zend và Symfony.

3. Sử dụng Yii tốt nhất khi nào?

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, v.v.

4. Yii so sánh thế nào với các framework khác

Giống như hầu hết các PHP framework, Yii là một MVC framework. (Tham khảo thêm ở đây: http://yiivn.com/showthread.php?tid=4)

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 đủ (toàn tiếng anh thui à ^^!) . 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 lúi xùi 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.

Trong phần này mình sẽ không đem Yii và các framework lên bàn cân để so sánh và mình cũng không hoan nghênh các bạn đưa vấn đề đó lên đây. Bởi vì thực sự hiện nay chưa có 1 PHP framework nào là perfect 100% và cũng chẳng có cái nào là nhất cả. Vấn đề là bạn thích cái nào và bạn chọn nó, sử dụng nó. Đây là diễn đàn về Yii, không phải diễn đàn về PHP framework nên nếu các Zender, CIer, Drupaler…. mà vào đây định troll thì xin mời các bạn ra chỗ khác và tôi sẽ thẳng tay xóa những bài viết như vậy.

5. Kế thừa

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ó. Dưới đây là 1 số ứng dụng mà Yii đã học tập:
Prado: Tất nhiên rồi, vì tiền thân của Yii chính là Prado mà. Đây cũng chính là nguồn ý tưởng chính cho Yii. 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 qua cấu hình. Tham khảo 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.

Qua đó bạn có thể thấy Yii không phải là cái gì đó mới mẻ hay cao siêu cả, mà đơn giản chỉ là học hỏi và kế thừa những cái đã có và thống nhất thành 1 framework dễ dùng nhất cho người sử dụng.

Trích dẫn từ nguồn