Blog

Vậy là sau 2 bài tản mạn về kiến thức cơ sở của CI, bài này chúng ta sẽ chính thức vào nội dung đầu tiên với chương trình đầu tiên sử dụng CodeIgniter

Cấu trúc Codeigniter

Cấu trúc Codeigniter và chương trình đầu tiên

  • Như biểu đồ ở hình ảnh trên các bạn sẽ thấy đầu tiên khi chúng ta truy cập vào 1 website sử dụng CI, chúng ta sẽ vào file index.php.
  • Tiếp theo Routing sẽ quyết định chúng ta được chuyển qua bước 3 hay qua bước 4 để kiểm tra bảo mật.
  • Nếu đây là lần truy cập thứ 2 trở đi thì bạn đã được lưu Caching ở website nên bạn sẽ qua Bước 3, nếu không bạn sẽ được chuyển qua Bước 4.
  • Nếu qua bước kiểm tra bảo mật ở Bước 4 bạn sẽ được chuyển qua Application Controller, để chạy được Controller nó cần có Models, Libs, Helpers, Plugins và các script sau đó sẽ đẩy dữ liệu ra View cho chúng ta xem.
  • Và cuối cùng bạn sẽ được lưu dữ liệu vào bộ đệm phục vụ cho lần truy cập tiếp theo.

Cấu trúc thư mục trong CodeIgniter

Cấu trúc thư mục trong Codeigniter

Cấu trúc thư mục trong Codeigniter

Hệ thống thư mục trong Codeigniter được chia vào 3 thư mục: application,system và user_guide:

Thư mục Application

Là thư mục chứa toàn bộ code của ứng dụng web bạn sẽ xây dựng cũng chính là nơi bạn sẽ code những dòng đầu tiên để thiết kế website của riêng mình. Dưới đây là 1 số thư mục con và ý nghĩa của chúng trong hệ thống của CI:

  • Cache: Thư mục này chứa tất cả các trang đã cache trong ứng dụng của bạn, các trang được cache sẽ giúp tăng tốc độ khi người dùng truy cập vào website của bạn.
  • Config: Chứa các file cấu hình cho ứng dụng của bạn như ở bài trước Cài đặt CodeIgniter chúng ta đã sử dụng: config.php, database.php,…
  • Controllers: Toàn bộ controller của ứng dụng web bạn xây dựng sau này sẽ đặt bên trong thư mục này.
  • Core: Thư mục này chứa các class của hệ thống đã xây dựng sẵn.
  • Helpers: Thư mục chứa các lớp helpers, bạn có thể đặt helpers mình ở thư mục này. Ghi chú chút là Helpers là 1 thư viện xây dựng sẵn phục vụ việc chúng ta code với CodeIgniter.
  • Hook: Nếu bạn muốn mở rộng thêm các chức năng mới cho Framework mà không động tới core của hệ thống thì hãy đặt nó tại đây
  • Language: Chứa thông tin các ngôn ngữ sử dụng trên website
  • Libraries: Thư viện của Codeigniter
  • Logs: Lưu các log của ứng dụng
  • Models: Toàn bộ model của hệ thống sẽ đặt trong mục này.
  • Third_party: Trong thư mục này bạn có thể đặt vào plugin sẽ được sử dụng cho ứng dụng của bạn.
  • Views: Chắc ai cũng hiểu nó được sử dụng để chứa phần hiển thị của website bạn sau này.

Về cơ bản đó là cấu trúc thư mục gồm các thư mục chính của Application

Thư mục System

Thư mục System chứa toàn bộ phần nhân(core) của hệ thống Codeigniter, thư viện, helper,…

  • Core: Chứa các lớp nhân của hệ thống, bạn không được phép chỉnh sửa bất kỳ nội dung nào ở đây tránh việc ứng dụng của bạn sẽ không được sử dụng.
  • Database: Chứa các lớp chính xử lý, điều hướng câu lệnh, cú pháp database,…
  • Fonts: Chứa font chữ
  • Helpers: Chứa các helper( thư viện) chuẩn do CodeIgniter xây dựng sẵn
  • Language: Chứa các file ngôn ngữ cho hệ thống
  • Libraries: Chứa thư viện chuẩn do CI xây dựng sẵn cho lập trình viên sử dụng.

User guide

Là thư mục chứa hướng dẫn dành cho các nhà lập trình viên khi sử dụng CI để thiết kế 1 website chuyên nghiệp cho mình.

Vậy là bên trên chúng ta đã hiểu về ý nghĩa các thư mục trong hệ thống của CodeIgniter, bây giờ chúng ta hãy thử bắt đầu với chương trình đầu tiên sử dụng CodeIgniter

Website đầu tiên với CodeIgniter

Tạo Controller

Việc đầu tiên của chúng ta là tạo ra controller để xử lý dữ liệu, các bạn vào application/controllers/ sau đó tạo 1 file là hello.php

Trong file các bạn đặt đoạn code sau:

<?php
class Hello extends CI_Controller{
public function index(){
echo "Hello from Vũ Công Tịnh - OTVINA.COM";
}
}
?>

 

Lưu ý: Tên class đặt như tên file nhưng viết hoa chữ cái đầu, class được Extends từ class CI_Controller do CodeIgniter xây dựng sẵn, bất cứ khi nào bạn tạo 1 controller mới bạn cần extends đến Controller này.

Gọi controller

Để gọi controller bạn thực hiện vào địa chỉ sau: http://duondantoici/index.php/tencontroller/tenfunction

Trường hợp này chúng ta chạy: http://localhost/codeigniter/index.php/hello/ chúng ta không cần chạy http://localhost/codeigniter/index.php/hello/index/ vì khi không tồn tại tenfunction trên đường dẫn, hệ thống của CI sẽ tự hiểu đó là function index().

Đối với các function khác không phải function index(), bạn cần phải gọi thêm tên function ở đường dẫn.

Ví dụ:

<?php
class Hello extends CI_Controller{
public function index(){
echo "Hello from Vũ Công Tịnh - OTVINA.COM";
}
public function hello(){
echo "Hello bạn";
}
}
?>

 

Để chạy function bạn phải vào địa chỉ: http://localhost/codeigniter/index.php/hello/hello/

Kết quả bạn nhận được trên màn hình là dòng chữ:”Hello bạn”.

Vậy là chúng ta đã thiết kế website đầu tiên sử dụng Codeigniter, thật dễ dàng phải không nào? Tuy nhiên, đây mới chỉ là phần cơ bản nhất trước khi bắt đầu với CodeIgniter, bài sau chúng ta sẽ tìm hiểu lần lượt các phần chính giúp bạn có 1 website mạnh mẽ, tạo ra nhanh chóng và dễ dàng.

Cảm ơn các bạn đã theo dõi bài viết này, hẹn các bạn ở bài tiếp theo về Model trong Codeigniter!