Khái niệm, định nghĩa Yii Framework là gì?

Khái niệm

Nếu bạn chọn framework Yii thì trang web của bạn sẽ có tốc độ thực thi rất nhanh, nhanh hơn so với các framework PHP khác, bởi vì nó sử dụng kỹ thuật lazy loading một cách rộng rãi. Yii 2 hoàn toàn hướng đối tượng, và nó dựa trên khái niệm lập trình DRY (Don’t Repeat Yourself), do đó cung cấp cho bạn một code base sạch sẽ và hợp lý.

Yii 2 được tích hợp với jQuery đi kèm với một bộ tính năng AJAX-enabled, nó thực hiện một cơ chế để dễ dàng sử dụng skinning và theming, do đó đây có thể là một lựa chọn tuyệt vời cho những người đến từ một nền tảng frontend. Nó cũng có một bộ sinh code (class code generator) mạnh mẽ được gọi là Gii tạo điều kiện cho lập trình hướng đối tượng và tạo nguyên mẫu (prototyping) nhanh chóng, và cung cấp một giao diện dạng web cho phép bạn tương tác để sinh ra phần code mà bạn cần.

What is Yii

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 4 năm. Tuy nhiên Qiang Xue cũng chính là người đã từng phát triển và bảo trì 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 Qiang Xue đã 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/2008, bản Yii đầu tiên đã được công bố và nhanh chóng được mọi người đón nhận.

Giới thiệu

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à một PHP Framework mã nguồn mở và hoàn toàn miễn phí, có hiệu quả xử lý cao, phát triển tốt nhất trên các ứng dụng Web 2.0, sử dụng tối đa các thành phần để tăng tốc độ viết ứng dụng.
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 kinh nghiệm đã có từ cái framework (mà số người sử dụng không hề 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 hướng đối tượng rất tốt và định hướng theo thành phần 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.

Yii phù hợp với gì?

Yii là 1 framework dành riêng cho lập trình web, có nghĩa là nó có thể sử dụng để phát triển bất cứ ứng dụng web nào bằng ngôn ngữ PHP. Yii thường dùng để phát triển portals, diễn đàn, CMS, các dự án thương mại điện tử, RESTful web service

So sánh với các framework khác

Nếu bạn đã từng biết các framework khác, bạn cần biết rõ những điều sau trước khi so sánh Yii vs những PHP framework khác:

  • Yii sử dụng kiến trúc thuần MVC và hoàn toàn tổ chức code dựa trên pattern này
  • Triết lý của Yii là code nên được viết 1 cách đơn giản nhất có thể. Yii sẽ không bao giờ thử thiết kế những vấn đề chính bên ngoài triết lý này
  • Yii là 1 full-stack framework cung cấp những tính năng đã được kiểm duyệt và luôn sẵn sàng để sử dụng: Query Build cùng ActiveRecord cho cả những hệ cơ sở dữ liệu quan hệ và NoSQL; hỗ trợ phát triển RESTful API; hỗ trợ cache sử dụng rất nhiều nền tảng…
  • Yii mở rộng rất mạnh mẽ. Bạn hoàn toàn có thể tùy biến hoặc thay thế bất cứ thành phần core nào.
  • Hiệu suất cao luôn luôn là tiêu chí đầu tiên của Yii

Hiện tại Yii đang  được phát triển bởi một đội ngũ rất nhiều chuyên viên chứ không phải duy nhất 1 người như trước, bên cạnh đó còn có 1 cộng đồng rất lớn user đang sử dụng yii luôn hỗ trợ, report và phát triển các extensions, modules cho Yii bên ngoài. Đội phát triển của Yii luôn bắt kịp xu thế mới nhất của lập trình web (hồi đầu là web 2.0, giờ là PHP 7) và học hỏi những thứ hay ho của các framework khác 😀

Các phiên bản Yii

Yii hiện nay có 2 phiên bản, 1 và 2. Phiên bản 1 đã dừng hỗ trợ từ lâu, mình cũng mới xài bản 2.0 cách đây 1 năm thôi nhưng thực sự không muốn quay về phiên bản 1 nữa 😀 Hồi trước làm 1 mãi quen lại ngại ko dám chuyển sang 2, cứ như phải học lại code ấy (Cấu trúc thì vẫn giữ nguyên – Code viết lại hoàn toàn). Mình cũng khuyên các bạn nếu bắt đầu Yii thì sử dụng luôn bản 2 đi

“Nhất nghệ tinh, nhất thân vinh”, các bạn cứ thật giỏi 1 thứ thì làm gì cũng ngon! Framework cũng thế, hiện nay Yii vẫn đang được phát triển đều đặn và được sử dụng bởi rất nhiều dự án lớn nhỏ khác nhau, chứ so sánh thì cái gì cũng có cái hay của nó, không khác gì so sánh Java vs C#, mỗi cái có ưu nhược điểm riêng, có fanboy và hater riêng

Yêu cầu hệ thống

Yii 2.0 yêu cầu PHP 5.4.0 trở lên và chạy tốt nhất với phiên bản 7.0