Tìm hiểu về PHP Framework CodeIgniter

Một phần của tài liệu Xây dựng ứng dụng quản lý chi tiêu trên nền tảng Android. (Trang 29 - 36)

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT

1.2. Tìm hiểu về PHP Framework CodeIgniter

CodeIgniter là một nền tảng ứng dụng web (web application framework) nguồn mở được dùng để xây dựng các ứng dụng web động bằng ngôn ngữ PHP. Nó cho phép các nhà phát triển xây dựng một ứng dụng web nhanh hơn, so với việc viết mã hỗn tạp, bằng cách cung cấp 1 bộ thư viện đầy đủ cho các tác vụ thông thường, cũng như cung cấp một mô hình tương tác đơn giản và dễ hiểu cho việc kết nối tới những bộ thư viện đó. Phiên bản chính thức đầu tiên của CodeIgniter được công bố vào 28 tháng 2 năm 2006.[1] Phiên bản mới nhất cho tới bây giờ là 3.0 được công bố chính thúc vào ngày 07 tháng 08 năm 2014.

1.2.2. Cài đặt Framework codeIgniter

Sau đây tôi xin trình bày các bước cài đặt codeignter để xây dụng web service.

Trước khi cài đặt bạn hãy vào trang web http://ellislab.com/codeigniter tải codeignter.

- Bước 1: Mở thư mục gốc trong web server (wamp là www còn xamp là htdocs).

- Bước 2: Tìm đến tập tin CodeIgnter được tài về.

- Bước 3: Giải nén nó vào thư mục gốc trong web service, chúng ta thấy một folder có tên “ CodeIgnter-(tên phiên bản)”.

Hình 1.10. Thư mục codeignter Các bạn có thể đổi tên thư mục tùy ý.

SVTH: Trần Tiến Anh Trang 20 GVHD: ThS. Hồ Ngọc Tú

Bước 4: Bây giờ, chúng ta mở file Config.php trong thư mục CodeIgnter và database.php trong file application->config định dang theo cơ sở dữ liệu.

1.2.3. Mô hình Model –View- Controller

Model –View – Control (MVC) là một kiến trúc phần mềm, hiện đang được xem là một mẫu thiết kế trong công nghệ phần mềm. Mô hình MVC tách biệt phần xử lý dữ liệu ra khỏi phần giao diện, cho phép phát triển, kiểm tra và bảo trì các thành phần một cách độc lập.

Mô hình thể hiện sự trao đổi dữ liệu giữa Model – View – Controller.

Hình 1.11. Mô hình Model-Controller-View Trong đó:

- Model thể hiện cấu trúc dữ liệu. Các lớp thuộc thành phần Model thường thực hiện các tác vụ như truy vấn, thêm, sửa, xóa dữ liệu, khi dữ liệu trong model thay đổi, thành phần View sẽ được cập nhật lại.

- View là thành phần thể hiện dữ liệu trong Model thành các giao diện tương tác với người sử dụng. Một Model có thể có nhiều View tùy thuộc vào các mục đích khác nhau.

- Controller đóng vai trò trung gian giữa Model và View. Thông tin người dùng từ view được gửi cho controller xử lý, sau đó controller tương tác với model để lấy dữ liệu được yêu cầu, sau cùng Controller trả dữ liệu này về cho view.

SVTH: Trần Tiến Anh Trang 21 GVHD: ThS. Hồ Ngọc Tú Mô hình MVC thường được sử dụng trong các ứng dụng web, vì thành phần

view (mã HTML/XHTML) được sinh ra từ các ngôn ngữ lập trình web. Thành phần controller sẽ nhận các dữ liệu GET/POST, xử lý những dữ liệu này, sau đó chuyển sang model xử lý.

1.2.4. Cấu trúc Codelgniter

Hình 1.12. Cấu trúc CodeIgniter

Tập tin index.php được xem như là controller đầu vào, tiếp nhận các yêu cầu từ phía client và chuyển các yêu cầu này cho hệ thống xử lý.

Thư mục System bao gồm phần lừi của CodeIgniter. Chỳng bao gồm cỏc thư viện xây dựng sẵn, các tập tin ngôn ngữ, ghi chú về hệ thống. Trong số đó, các thư mục sau khá quan trọng.

- Thư mục application dành cho lập trình viên, các tập tin được lập trình cho ứng dụng sẽ lưu trong thư mục này.

- Thư mục cache bộ đếm của hệ thống chứa các trang đã được xử lý trước đó.

SVTH: Trần Tiến Anh Trang 22 GVHD: ThS. Hồ Ngọc Tú - Thư mục helpers Chứa các hàm hỗ trợ cho lập trình khi viết ứng dụng.

- Thư mục liberaries chứa các thư viện sẵn của codeigniter.

Đối với lập trình viên, các tập tin của ứng dụng sẽ được lưu trong thư mục system/application.

Trong đó:

- Thư mục config chứa các tập tin cấu hình hệ thống - Thư mục controller chứa các lớp Controller

- Thư mục errors chứa các tập tin lỗi

- Thư mục helpers chứa các tập tin để mở rộng mã nguồn CodeIgniter - Thư mục hooks chứa các tập tin để mở rộng mã nguồn CodeIgniter - Thư mục libraries chứa các thư viện cho người dùng định nghĩa - Thư mục Models chứa các lớp Model

- Thư mục View chứa các lơp View 1.2.5. Dòng chảy dữ liệu trong Codeigniter

 Tập tin index.php đóng vai trò làm Controller đầu vào, thiết lập các tài nguyên cần thiết cho hệ thống.

Routing: Điều khiển quá trình điều hướng giúp xác định yêu cầu và hướng xử lý đối với chúng.

Caching: Nếu dữ liệu được yêu cầu đã được lưu trong bộ đếm, CodeIgniter sẽ trả dữ liệu trong bộ đếm về phía client. Quá trình xử lý kết thúc.

Security: Dữ liệu trước khi được chuyển đến các Controller sẽ được lọc để phòng chống XXS hoặc SQL Injection.

Application controller: Controller sử lý dữ liệu nhận được bằng cách gọi đến các Model, Libraies, Helpers, Plugins… có liên quan.

View: Dữ liệu được chuyển qua view để hiện thị cho người dùng. Nếu chức năng cache được bật, dữ liệu sẽ được lưu trong cache cho những lần yêu cầu tiếp theo.

SVTH: Trần Tiến Anh Trang 23 GVHD: ThS. Hồ Ngọc Tú 1.2.6. Codeigniter URL

Theo mặc định, cấu trúc URL của CodeIgniter được thiết kế dựa vào các segment thay cho kiểu query truyền thống. Cách tiếp cận này giúp URL trở nên ngắn gọn, có ý nghĩa, dễ ghi nhớ và thân thiện với các bộ máy tìm kiếm.

Một URL trong CodeIgniter có dạng.

Domain.com/index.php/controller/method/param/

1.2.7. Model

Model là những lớp được xây dựng nhằm thực hiện việc trao đổi thông tin với cơ sở dữ liệu. Một lớp Model có thể thực hiện các tác vụ truy vấn, thêm, xóa, cập nhật dữ liệu.

Trong CodeIgniter, việc khai báo các lớp model dành cho một thực thể nào đó là không cần thiết, vì trong controller của thực thể đó, ta có thể gọi đến thư viện database để thực hiện các thao tác với cơ sở dữ liệu .Tuy nhiên, để tiện cho việc quản lý , xây dựng lớp model cho một thực thể được khuyến khích.

Một lớp molder chuẩn trong CodeIgniter có cấu trúc như sau.

Class Exaple extends CI_Model{

/**

* Hàm tạo /**

Function __contruct(){

Parent::__contruct();

$this->load->database();

} /**

// Hàm kiểu dữ liệu đầu vào // mô tả hàm

**/

Function example1($id){

} }

Khi khai báo một lớp Model, ta cần tuân theo một số quy tắc sau.

SVTH: Trần Tiến Anh Trang 24 GVHD: ThS. Hồ Ngọc Tú

 Tên lớp được viết hoa chữ đầu tiên, phần còn lại viết chữ thường

 Tập tin được đặt như tên lớp, và được đặt trong thư mục application/models.

 Bắt buộc kế thừa từ lớp CI_Model. Trong hàm tạo của lớp con gọi đến lớp cha.

Để sử dụng lớp Model trong Controller.

$this->load->Model(‘ten class model’)

Khi sử dụng một phương thức từ lớp Model bên Controller

$this->classModel->method() 1.2.8. Controller

Controller là những lớp đóng vai trò trung gian giữa View và Model. Controller nhận các yêu cầu từ phía người dùng, kiểm tra chúng trước khi chuyển qua cho model. Sau khi model xử lý rồi truyền qua cho controller chuyển sang view để hiển thị dữ liệu cho người dùng.

Một lớp Controller chuẩn trong Codeigniter có mẫu sau.

Class Example extends CI_Controller{

// hàm tạo

Public function __contruct(){

Parrent::__contruct();

$this->load->Model(‘class model’);

}

Public function method(){

// ham sử dụng truyền sang view

$this->class model->method(“”);

} }

Khai báo một lớp Controller chúng ta phải theo quy tắc sau.

 Tên lớp ký tự đầu tiên phải viết hoa và các chữ tiếp theo viết thường.

SVTH: Trần Tiến Anh Trang 25 GVHD: ThS. Hồ Ngọc Tú

 Tập tin được đặt trùng tên với tên lớp và bỏ trong thư mục application/controller

 Bắt buộc phải kế thừa từ lớp CI_Controller 1.2.9. View

View là những tập tin HTML được xây dụng nhằm để hiện thị dữ liệu trong các lớp model thành các giao diện tương tác với người dùng. View có thể là một trang web hoàn chỉnh hay chỉ là một phần của trang web ( header, footer, …..).

Nội dung của tập tin view ngoài mã HTML còn chứa mã PHP, view không bao giờ gọi trực tiếp mà phải qua controller.

SVTH: Trần Tiến Anh Trang 26 GVHD: ThS. Hồ Ngọc Tú

Một phần của tài liệu Xây dựng ứng dụng quản lý chi tiêu trên nền tảng Android. (Trang 29 - 36)

Tải bản đầy đủ (PDF)

(86 trang)