- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Trước đây học web framework Codeigniter, mình đã từng lên các diễn đàn và đọc tutorial trên nhiều website khác, và làm mình khá hoài nghi không biết codeigniter viết như thế nào và nó có thể làm được gì đó là một khái niệm mới đối với tôi lúc bấy giờ. Điều đầu tiên mọi người cần biết codeigniter là một PHP Framework, được làm ra dựa trên cấu trúc phần mềm dạng MVC (Model-View-Controller). Kiến trúc này được tách riêng rẽ về mặt logic khi viết action, view cho phép chúng ta phát triển chúng một cách độc lập, cấu trúc khoa học sẽ dễ dàng hơn khi nâng cấp về sau. Codeigniter cho phép bạn quản lý code thật sự chuyên nghiệp , dễ quan sát và bạn có thể sử dụng lại code với cách lập trình hướng đối tượng. Codeigniter riêng với cá nhân tôi nhận thấy nó rất thân thiện, mình khuyến khích các bạn sử dụng framework này để phát triển website bán hàng hay tin tức.
Hướng dẫn cài đặt Codeigniter
Một vài người bắt đầu đoán thấy có sự phức tạp khi nghe từ “cài đặt” nhưng bạn đừng quá lo lắng mọi mã nguồn chuyên nghiệp đều có bộ cài đặt trước khi có thể sử dụng. Quá trình cài đặt codeigniter khá đơn giản. Những việc bạn cần làm là tải framework phiên bản mới nhất từ URL: http://codeigniter.com/download.php
Tiếp đến, sau khi tải về máy tính bạn giải nén vào thư mục root của domain. Nếu bạn chạy trên localhost với xampp thì có thể xem bài viết hướng dẫn cài đặt và sử dụng xampp web server. Và bạn cũng có thể đổi tên thư mục chạy codeigniter nếu muốn, đổi tên có liên quan đến dự án để bạn dễ tìm thấy dự án mình đang quản lý sẽ là luôn là một gợi ý đúng.
Config File
Bạn cần thiết lập file config, có thể tìm thấy trong thư mục application->config->config.php. Ví dụ, bạn sẽ sửa lại thông số base_url có khai báo trong file này:
<?php $config['base_url'] = 'http://localhost/ci_basics'; ?>
Trường hợp trên, mình thiết lập URL cho trang chủ là ‘http://localhost/ci_basics’. Điều này có nghĩa rất cả các files nguồn của Codeigniter nằm tại thư mục ci_basic.
Routes File
Bước này chúng ta mở file routes và thiết lập controller mặc định khi truy cập web. File routes được đặt trong thư mục application->config->routes.php. Mở file với trình soạn thảo ở đây mình xài notepad++ bạn tìm tới “default_controller”, chúng ta sẽ đổi tên thành “home” đó là tên controller sẽ gọi mặc định.
<?php $route['default_controller'] = 'home'; ?>
Như vậy phần cấu hình cơ bản đã đủ. Bây giờ chúng ta tạo home controller. Tạo Controllers là định nghĩa lớp PHP chứa trong thư mục dành cho controller. Mỗi class có tên giống với tên file của nó. Và mỗi class controller cũng sẽ được kế thừa từ lớp controller chính của Codeigniter. Nội dung của file home.php sẽ như sau:
<?php // This file name is home.php // The class name for this file should be the same // filename, except it should be capitalized. class Home extends CI_Controller{ } ?>
Trong lập trình hướng đối tượng, các class chứa các hàm hay còn gọi là phương thức. Hàm đầu tiên có thể là construct. Hàm construct này luôn bị gọi đầu tiên mỗi khi tạo mới instance cho class. Các phiên bản PHP có những cách định nghĩa construct khác nhau, tên hàm construct có thể định nghĩa giống với tên class hoặc sử dụng tên quy định chung dành cho hàm đặc biệt này. Chú ý: trong hàm khởi tạo bạn cần gọi phương thức construct của lớp mẹ (parent class), nếu không bạn sẽ nhận kết quả lỗi.
<?php // This file name is home.php // The class name for this file should be the same // filename, except it should be capitalized. class Home extends CI_Controller{ function __construct(){ // Note that there are (2) underscores (_) parent::__construct(); // Should always be the first thing you call. } } ?>
Như mình đề cập ở trên, hàm construct này sẽ thực thi mỗi khi class được khởi tạo, do đó chúng ta có thể khởi tạo biến vào đây, ví dụ mình có tạo biến lưu ngày tháng hiện tại.
<?php // This file name is home.php // The class name for this file should be the same // filename, except it should be capitalized. class Home extends CI_Controller{ var $today; function __construct(){ // Note that there are (2) underscores (_) // To grab the class variable, (this) needs to be used parent::__construct(); $this->today = date('d/m/Y'); } } ?>
Trước khi chúng ta hiển thị dữ liệu ra trình duyệt, tôi muốn gợi ý một cách tổ chức code trong file của bạn. Nhiều trường hợp, chúng ta sẽ sử dụng file CSS hoặc một file javascript chung cho tất cả mọi trang. Và với trường hợp này, chúng tqa có thể tạo các files như header, footer, và file hiển thị nội dung.
Đầu tiên bạn tạo một folder tên là “includes”. Folder này nên đặt trong application->views->includes. Trong folder, tạo 2 files: header.php và footer.php. Nội dung file header giống như thế này:
File: header.php
<!DOCTYPE HTML PUBliC '-//W3C//Dtd HTML 4.01 transitional//EN' 'http://www.w3c.org/tr/1999/REC-html401-19991224/loose.dtd'> <html lang=en xmlns='http://www.w3.org/1999/xhtml'> <head> <title>Jotorres Web Development</title> </head> <body>
Lưu ý: vì nguyên lý là một trang web sẽ kết hợp nhiều file, cho nên ở file đầu tiên này chúng ta mở thẻ body chứ không kết thúc ngay. Bạn Đóng mọi thẻ ở footer.php
</body> </html>
Bây giờ hãy quay trở lại file controller và tạo trang tới người dùng. Trong lớp controller chúng ta sẽ cần gọi hàm view
để hiển thị nội dung ra trình duyệt. Nào để bắt đầu bạn sẽ tạo hàm index
và gửi biến today vào view. Chúng ta cũng sẽ gọi file khác mà chứa trong thư mục includes là nơi chứa các file template. File template này sẽ load file header, content và cuối cùng footer rồi cùng hiển thị ra trình duyệt. Chúng ta sẽ tạo một biến bảng $data
nó là một mảng đầy đủ gồm cặp key-value, mục đích dữ liệu mảng này sẽ giải nén thành các biến vào file template. Xem ví dụ sau:
<?php // This file name is home.php // The class name for this file should be the same // filename, except it should be capitalized. class Home extends CI_Controller{ var $today; function __construct(){ // Note that there are (2) underscores (_) // To grab the class variable, (this) needs to be used parent::__construct(); $this->today = date('d/m/Y'); } function index(){ // Create an array with the information that we need to send. // First is the main content to display $data['main_content'] = 'home_view'; // Next we send the date variable $data['today'] = $this->today; // Now that we have our information // We will load the template. // And send the array $this->load->view('includes/template', $data); } } ?>
Trong thư mục ‘includes’, chúng ta cần thêm một file mới tên là “template.php”
File: template.php
<?php // Here we load the header // the content, and the footer $this->load->view('includes/header'); // We need to load the content file $this->load->view($main_content); // This is the name we sent in $data['main_content'] // Now we load the footer $this->load->view('includes/footer'); ?>
Chú ý: làm sao load các file view/template mà không ghi kèm đuôi mở rộng .php. Codeigniter sẽ tự động tìm đúng tên file và điền thêm mở rộng của php.
Bước tiếp đến, là tạo file hiển thị nội dung chính của page, đây không phải là file include nên nó sẽ nằm trong thư mục view. Trong file chúng ta có thể truy cập biến $today
, được lấy trong biến mảng $data. Ví dụ nội dung đơn giản của file sẽ như thế này:
<div> <?php echo "Today's date is: "; echo $today; ?> </div>
Trên đây mình vừa trình bầy cách thức sử dụng Codeigniter cho người mới tìm hiểu, công nghệ trong bài viết này không có gì rất dễ hiểu hi vọng bạn thích thú và sẽ theo dõi những bài viết mới nhất về Codeigniter trên blog này. Mọi thắc mắc xin đừng ngại để lại bình luận ở bên dưới.
Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng cách đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể theo dõi blog này trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype