Giới Thiệu Về CodeIgniter
a. Codeigniter là gì ? Codeigniter (CI) là một PHP framework được xây dựng theo mô hình MVC, bao gồm các thư viện được viết sẵn bằng PHP.Các thư viện trong Codeigniter giúp chúng ta kết nối và thực hiện các công việc liên quan đến cơ sở dữ liệu, upload file, xử lý ảnh,phân trang, cookies, ...
a. Codeigniter là gì ?
- Codeigniter (CI) là một PHP framework được xây dựng theo mô hình MVC, bao gồm các thư viện được viết sẵn bằng PHP.Các thư viện trong Codeigniter giúp chúng ta kết nối và thực hiện các công việc liên quan đến cơ sở dữ liệu, upload file, xử lý ảnh,phân trang, cookies, session, và một số phương thức bảo mật cơ bản,... điều này giúp ta xây dựng một website nhanh hơn, đồng thời tổ chức code tốt hơn với mô hình MVC.
b. Ưu điểm khi dùng Codeigniter
- Dung lượng project khi mới cài đặt rất nhỏ khoảng 2MB
- Tài liệu dễ học, dễ mở rộng
- Bộ core thư viện ít thay đổi
- Tốc độ nhanh, miễn phí
- Bảo mật hệ thống XSS, SQL Injection
- Không cần cấu hình nhiều
- Dễ tích hợp thư viện từ framework khác
c. Nhược điểm khi dùng Codeigniter
- Chưa hỗ trợ AJAX (Cần dùng thư viện ngoài như Jquery ...)
- Khi dùng với PHP 7.0 còn gặp một số lỗi
- Chưa hỗ trợ Object-Relational Mapping (ORM): ORM có thể hiểu 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 và ngắn gọn hơn.
a. Yêu cầu cơ bản
- PHP phiên bản 4.x hoặc 5.x (khuyến cáo không nên dùng phiên bản PHP 7.x vì PHP7.x ở thời điểm hiện tại do mới phát hành còn gặp nhiều lỗi)
- Bạn có thể chọn một trong các Hệ quản trị cơ sở dữ liệu : MYSQL, Mircrosoft SQL Server, Oracle, SQLite ,....
- Cài Apache (gọi tắt của Apache HTTP Server là một chương trình máy chủ giao tiếp bằng giao thức HTTP và hoạt động trên hầu hết các hệ điều hành, là phần mềm web server miễn phí mã nguồn mở)
- Hoặc cách đơn giản nhất ta có thể cài Xampp ( chương trình tạo web server được ứng dụng trên các hệ điều hành Linux, MacOS, Windows, Cross-platform, Solaris). XAMPP hoạt động dựa trên sự tích hợp của 5 phần mềm chính là Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) và Perl (P), nên tên gọi XAMPP cũng là viết tắt từ chữ cái đầu của 5 phần mềm này.
b. Hướng dẫn cài đặt Bài này mình sẽ hướng dẫn các bạn cài đặt trên môi trường windows nhé. Đầu tiên để có thể chạy được một project bằng Codeigniter ta cần cài một số thứ như sau:
- Xampp https://www.apachefriends.org/download.html ( khi chạy có một số trường hợp bị chiếm cổng 80 dẫn tới không chạy được apache do vậy cần lưu ý khi cài đặt xampp)
- Download bộ nguồn CodeIgniter tại website http://codeigniter.com/
a. Cấu trúc thư mục application: đây là thư mục rất quan trọng, thư mục chứa ứng dụng,nơi đây sẽ là nơi lập trình viên chúng ta viết code cho dự án
system: đây là thư mục chứa toàn bộ thư viện của CodeIgniter,mọi người không nên chỉnh sửa hay can thiệp vào đây,nếu muốn thì có thể mở ra xem để hiểu hơn
user_guide: đây là thư mục chứa toàn bộ hướng dẫn sử dụng,mọi người có thể xóa thư mục này còn các hướng dẫn có thể xem online
index.php: File index.php như bộ điều khiển đầu tiên có nhiệm vụ khởi tạo tài nguyên ban đầu trong quá trình xử lý (File chạy đầu tiên ) mọi người giữ nguyên file này .
b, Cấu trúc thư mục application trong CodeIgniter
– Vì chúng ta tương tác chủ yếu với thư mục application nên ta sẽ xem trong thư mục application có gì nhé :
config: đây là thư mục chứa toàn bộ cấu hình website, cấu hình database, đường dẫn,ngôn ngữ…
core: Đây là thư mục viết các core của hệ thống,có thể viết các main controller,model… để kế thừa
controller: Đây là thư mục chứa toàn bộ các file controller (xử lý dữ liệu)
model: Là nơi viết các model của hệ thống (làm việc với CSDL)
views: là nơi chứa các views (hiển thị dữ liệu)
helpers: chứa các helpers (các hàm tự xây dựng)
libraries: chứa các thư viện mà chúng ta tự phát triển
language: chứa các file ngôn ngữ,nếu ta làm website đa ngôn ngữ thì cần sử dụng tới thư mục này
Trong đó các thư mục quan trọng đó là models, views, controllers Trên đây là phần giới thiệu về framework Codeigniter về phần chi tiết mình sẽ viết trong những bài sau...