CodeIgniter (CI) là một PHP Framework theo cấu trúc MVC được viết trên PHP4 và hỗ trợ cả PHP4 và PHP5 .Nó là một tập hợp các thư viện viết sẵn trên PHP giúp chúng ta phát triển web bằng PHP nhanh hơn là cách viết lắp ghép thông thường
– Các thư viện này giúp chúng ta thực hiện các tác vụ thông thường của một ứng dụng web như 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ý hình ảnh, phân trang, cookie, session, bảo mật … Đồng thời các thư viện này cũng giúp chúng ta tổ chức code tốt hơn với mô hình MVC.
– Để có thể học được CodeIgniter framework thì bắt buộc các bạn cần có kiến thức sau:
Ngoài ta thì còn rất nhiều yếu tố khác nữa nhưng 3 yêu tố trên là 3 yếu tố bắt buộc để các bạn có thể dễ dàng tiếp cận với bất kỳ PHP framework nào
Tại sao lại chọn CodeIgniter framework?
+ Là một trong những PHP Framework có số lượng người dùng nhiều nhất hiện nay
+ Tính tiếp cận và tài liệu dễ học, dễ mở rộng
+ Bộ core thư viện của Codeigniter ít thay đổi
+ Codeigniter Framework có vòng đời ổn định hơn so với các PHP Framework khác
+ Dễ tích hợp thêm các thư viện từ framework khác
Cài đặt CodeIgniter Framework
– Đầu tiên các bạn download phiên bản mới nhất của CI tại đây,hiện tại mình đang sử dụng phiên bản 2.2
– Sau khi download về các bạn giải nén và sẽ thấy các thư mục bên trong như sau:
– Trong các thư mục download về thì ý nghĩ từng thư mục và file như sau:
- 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 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,các bạn không lên chỉnh sửa hay can thiệp gì vào đây,nếu muốn thì có thể mở ra xem thôi
- user_guide: đây là thư mục chứa toàn bộ hướng dẫn sử dụng,các bạn có thể xóa thư mục này còn các hướng dẫn có thể truy cập vào đây để xem
- index.php: các bạn giữ nguyên file này
– Bây giờ các bạn hãy mở thư mục Application ra để xem cấu trúc và ý nghĩa của nó thể nào nhé:
– Mình xin giải thích qua 1 chút về chức năng của các thư mục chính,hay sử dụng:
- 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 bạn làm website đa ngôn ngữ thì cần sử dụng tới thư mục này
Ngoài ra còn 1 vài thư mục khác,nhưng ít được sử dụng hơn,các bạn có thể tìm hiểu thêm nhé.
Chạy ứng dụng đầu tiên với CodeIgniter
– Bây giờ các bạn hãy copy toàn bộ thư mục mà các bạn download về vào thư mục chạy web trên máy các bạn (mình sử dụng xampp lên copy vào thư mục htdocs),sau đó các bạn chạy đường link http://localhost/CodeIgniter_2.2.0/ sẽ được kết quả như sau:
Như vậy là các bạn đã chạy thành công rồi đó,khi các bạn chạy link website như vậy mặc định CodeIgniter sẽ chạy tới controller theo đường dẫn application/controllers/welcome.php,đó chính là những gì mà các bạn nhìn thấy trên màn hình.
– Bây giờ chúng ta cùng viết ứng dụng đầu tiên nhé:
Bươc 1: tạo file index.php trong thư mục application/controlers với nội dung sau:
1
2
3
4
5
6
7
8
9
|
<?php class Index extends CI_Controller{ public function __construct(){ parent::__construct(); } public function index(){ echo "Buoi hoc tong quan ve CodeIgniter Framework tai hocphp.info" ; } } |
Sau đó các bạn thử chạy với link http://localhost/CodeIgniter_2.2.0/index.php/index và sẽ được kết quả như sau:
Chạy ứng dụng CodeIgniter đầu tiên
Mình xin giải thích qua 1 chút về đoạn code trên:
+ Khi khởi tạo controller thì tên file và tên lớp phải giống nhau. Cụ thể ở đây là tên lớp index và tên file index.php phải giống nhau.
+ Theo quy tắc của CI thì chữ cái đầu tiên của lớp phải viết hoa.
+ Mọi lớp tạo ra trên quy tắc là phải kế thừa lớp CI_Controller
+ Trong classs index này mình viết hàm khởi tạo và sử dụng parent::__construct(); nhằm tránh việc ghi đè,nếu bạn viết 1 hàm khởi tạo mà không sử dụng kế thừa từ __construct(); trong CI_Controller thì chắc chắn sẽ gặp lỗi
+ Để chạy các phương thức(action) thì chúng ta phải tạo nó như 1 phương thức bình thường.Và nếu không chạy action nào trong controller thì mặc định nó sẽ load phương thức (action) index
+ Để chạy ứng dụng ta phải đi qua file index.php. File này được hiểu là 1 front controller. Nó sẽ điều hướng dữ liệu mà chúng ta sẽ gởi đi.
– Ví dụ tạo 1 phương thức test() trong controller index:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php class Index extends CI_Controller{ public function __construct(){ parent::__construct(); } public function index(){ echo "Buoi hoc tong quan ve CodeIgniter Framework tai hocphp.info" ; } public function test() { echo "Bạn đang chạy phương thức test() tại controller index" ; } } |