Giới thiệu PHP Framework CodeIgniter

Hiện nay có khá nhiều các framework được xây dựng và phát triển trên nền tảng PHP như Zend, Yii, Cake PHP, Codeigniter và mỗi framework có những ưu điểm và nhược điểm khác nhau.

Giới thiệu tổng quan

CodeIgniter là nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ PHP bởi Rick Ellis. Phiên bản đầu tiên được phát hành vào ngày 28/02/2006. Hiện tại CodeIgniter đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab, Inc.

Có câu hỏi đặt ra là tại sao chúng ta không dùng PHP thuần (code chay) mà phải dùng framework? Theo mình nghĩ nếu bạn dùng PHP thuần thì bạn phải có kiến thức về bảo mật và phải xây dựng PHP theo hướng đối tượng thì mới dễ quản lý code của mình, cũng như khi làm việc nhóm đồng đội có thể dễ dàng đọc code và phát triển dự án cùng bạn. Nhưng khi bạn sử dụng một framework thì mọi vấn đề sẽ được giải quyết. Các framework có độ bảo mật cao, được viết theo mô hình hướng đối tượng và nó tạo cho chúng ta cái sường đã hỗ trợ chúng ta rất nhiều, đơn giản hóa công việc đi để chúng ta có thể thiết kế website hay xây dựng các dự án khác nhau. Chính vì vậy mà VSOFT sử dụng PHP Framework CodeIgniter để xây dựng toàn bộ website của mình.

Trong các framework mình kể trên thì theo quan điểm của mình thì Codeigniter là framework đơn giản và dễ học nhất. Nó được xây dựng theo mô hình MVC source code rất nhẹ, nhẹ nhất trong các framework  mình đã từng tìm hiểu, tốc độ chạy nhanh rất dễ tìm hiểu cho người mới học framework.

Giới thiệu codeigniter

Những ưu điểm nổi bật

  • Được thiết kế theo mô hình MVC (Model-View-Controller): mô hình MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm thành các phần độc lập, từ đó giúp cho việc thiết kế web, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm. CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng xử lý và bảo trì.
  • Nhỏ gọn : gói cài đặt chỉ 404KB, kích thước  CodeIgniter giúp giảm thiểu đáng kể không gian lưu trữ.
  • Tốc độ nhanh : CodeIgniter được đánh giá là PHP Framework có tốc độ nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hoá tốc độ tải trang.
  • Miễn phí : CodeIgniter được phát hành dưới giấy phép Apache/BSD mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn.
  • Hỗ trợ Search Engine Optimization : Cấu trúc URL của CodeIgniter rất thân thiện với các Robot tìm kiếm.
  • Hệ thống thư viện phong phú : CodeIgniter cung cấp những thư viện phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quả lý session, xử lý ảnh,… đến những chức năng nâng cao như XML-RPC, mã hoá, bảo mật,…
  • Bảo mật hệ thống  cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống.

Những nhược điểm hạn chế

  • Chưa hỗ trợ Object-Relational Mapping (ORM) : ORM là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối tượng trong lập trình. Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ sở dữ liệu (Create Read UpdateDelete – CRUD) dễ dàng, mã nguồn ngắn gọn hơn.
  • Chưa hỗ trợ AJAX (Asynchronous Javascrip and XML) : AJAX đã trở thành một phần không thể thiếu trong bất kỳ ứng dụng web 2.0 nào. AJAX giúp nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm giác như đang sử dụng desktop vì các thao tác đều diễn ra tức thời. Hiện tại, CodeIgniter vẫn chưa có thư viện dựng sẵn nào hỗ trợ xây dựng ứng dụng AJAX. Lập trình viên muốn phát triển thêm tính năng này phải sử dụng các thư viện bên ngoài, như JQuery, Script.aculo.us, Prototype, hay Mootools,…
  • Chưa hỗ trợ một số module thông dụng : So với các framework khác, CodeIgniter không có các module thực  thi một số tác vụ thường gặp trong quá trình xây dựng ứng dụng web như Chứng thực người dùng (User Authorization), trình phân tích RSS (RSS Parser) hay trình xử lý PDF,…
  • Chưa hỗ trợ Event Driver Programming – EDP : EDP là một nguyên lý lập trình, trong đó các luồng  xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phím,… Đây không phải là một khuyết điểm lớn của CodeIgniter vì hiện tại chỉ có một số ít Framework hỗ trợ EDP bao gồm Prado, QPHP, Yii.

Bạn có thể tìm hiểu thêm tại trang chủ https://codeigniter.com/

Bài viết cùng chuyên mục

Những câu hỏi thường gặp khi xây dựng website

Những câu hỏi thường gặp khi xây dựng website và những thông tin cần thiết về website cho các cá nhân, doanh nghiệp có ý đinh thiết kế website

Những điều lưu ý khi thiết kế web bán hàng online

Ngày nay việc thiết kế website hay tạo web bán hàng đã quá phổ cập, bất kỳ một đối thủ nào của bạn có thể bỏ thời gian ngắn để tiếp cận, hoặc bỏ ra một số tiền nhỏ cũng có thể sở hữu website bán hàng đơn giản.

Lý do Quý khách nên thiết kế website ngay hôm nay

Thời đại internet công nghệ số 4.0 cập nhật thông tin 24/7, nếu Quý khách có ý định thiết kế website để giới thiệu Sản phẩm hoặc Thông tin công ty thì với những lý do dưới đây đủ thuyết phục để Quý khách quyết định thiết kế web ngay và luôn.

Bạn là ai trong thế giới SEO-er?

Những thuật toán mới được cập nhật hàng ngày, thậm chí đến hàng giờ. Và, ngày lại ngày, vẫn có những website âm thầm leo lên top 1 với bàn tay ma thuật của các SEOer cũng như những website lặng lẽ ra đi cũng chỉ vì những SEOer.

Sổ tay SEO tiếng Việt (1.0 và 2.0) cho SEO-er

Với mong muốn đem lại những kiến thức về SEO (tối ưu hoá website) cho tất cả mọi người. Thư Viện Webmaster đã tổng hợp và biên soạn lại lại các bài viết hay do nhiều tác giả thực hiện

Những Bất Lợi Cho Doanh Nghiệp Khi Không Có Website

Trong thời đại toàn cầu hóa, thời đại của Công Nghệ Thông Tin cùng với nền Kinh tế Tri thức, nếu một doanh nghiệp không có website sẽ gặp phải nhiều bất lợi.