Lịch sử Yii framework

Vào tháng 12 năm 2008, một PHP Framework mới được cộng đồng biết đến đó là Yii Framework với phiên bản 1.0. Có rất nhiều Framework được phát triển vào năm 2008 nhưng Yii được mọi người nhiệt tình công nhận vì Qiang Xue là người đã thành lập ra Prado Framework cũng chính là tác giả của Yii Framework. Những năm kinh nghiệm và những nhận xét của người sử dụng, đang 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.

Vì vậy Yii Framework đã ra đời và đáp ứng các yêu cầu trên cho cộng đồng Web 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ó 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. 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 để tăng tốc độ viết ứng dụng.

Yii framework là gì ?

Yii framework là gì ? image 1

Yii Framework là 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.

Để chạy 1 ứng dụng được viết bằng Yii, bạn cần Web Server hỗ trợ PHP 5.1.0 hoặc phiên bản mới hơn.

Giống như hầu hết các PHP Framework, Yii là một MVC Framework.

Với developer muốn phát triển Yii, kiến thức lập trình hướng đối tượng (OOP) rất hữu ích vì Yii là một Framework OOP thuần túy.

Ưu nhược điểm của Yii framework

Ư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 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.

Khuyết điểm .

Yii Framework vẫn đang trong quá trình hoàn thiện và phát triển.

Các thành phần cấu trúc yii framework .

Model

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.

ActiveRecord (AR) là một mô hình được sử dụng để truy 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.

View

Thông thường, View là giao diện của người dùng, dựa trên các dữ liệu trong Model.

View chính là PHP bao gồm chủ yếu là các yếu tố của giao diện. Nó có thể chứa câu lệnh PHP nhưng nó được khuyến cáo không nên thay đổi mô hình dữ liệu nên vẫn còn tương đối đơn giản. Các câu lệnh PHP trong View thường có các điều kiện và vòng lặp rất đơn giản, và được hỗ trợ bởi các phương thức HTML và Widget là lớp có thể tái sử dụng nhiều lần.

Controller

Controller là một thể hiện của CController. Nó được tạo ra bởi các ứng dụng khi người dùng yêu cầu. Controller là thiết bị điều khiển chính cho các yêu cầu từ người sử dụng, và nó sẽ tương tác với cơ sở dữ liệu. Một lớp trong Controller có tên bắt đầu là “action”. Khi tạo mới một ứng dụng Yii thì mặc định trong Controller là có lớp actionIndex, actionContact.

Layout

Layout là bố cục chung nhất cho một Website. Nó thường chứa các thành phần chung nhất. Trong Layout có thể chứa các câu lệnh PHP.

Widget

Widget là một thể hiện của CWidget. Nó là một thành phần chủ yếu cho giao diện của trang Web. Widget thường được nhúng vào nhằm tạo ra một số giao diện người dùng phong phú hơn. Widget có thể tái sử dụng nhiều lần trong website. Ví dụ, một Widget lịch có thể làm cho người dùng một giao diện lịch đẹp hơn.

Component

Ứng dụng Yii được xây dựng dựa trên các Component là các đối tượng văn bản để đặc tả một cách rõ ràng. Component là một thể hiện của CComponent hoặc lớp dẫn xuất của nó. Sử dụng một Component chủ yếu liên quan đến việc truy cập vào thuộc tính và nâng cao / xử lý các sự kiện.

Module

Module là một phần độc lập gồm các model, view, controller và các thành phần hỗ trợ khác. Trong nhiều khía cạnh, module giống như một ứng dụng. Sự khác nhau chính là module không thể triển khai một mình mà nó phải nằm bên trong của một ứng dụng. Người dùng có thể truy cập đến các controller trong một module như một ứng dụng bình thường.

Đối với một ứng dụng quy mô lớn, chúng ta có thể chia thành nhiều module được phát triển và bảo trì một cách riêng biệt. Một số tính năng thường được sử dụng, chẳng hạn như quản lý người sử dụng, quản lý các nhận xét có thể được phát triển thành các module để họ có thể tái sử dụng dễ dàng trong các dự án trong tương lai.

Xem thêm PHP là gì ?

Viết câu trả lời

Drop Images