![]() |
| Mô hình MVC |
Trước khi bắt đầu với Controller của Codeigniter chúng ta thêm file .htaccess có nội dung như trong bài trước: htaccess cho Codeigniter tối ưu URLThư mục gốc chứa site ta có các file và cấu trúc như sau hình bên:
Tại đây có thể thấy bao gồm: thư mục application, system file index.php, .htaccess. chúng ta chỉ làm việc trên thu mục application.
![]() |
| Thư mục application của codeigniter |
Các controller toàn bộ được chứa trong thư mục controllers, views chứa các file giao diện người dùng, models chứa các model làm việc với CSDL.
Controller
URL: example.com/blog/
Tạo 1 file blog.php trong thư mục controllers
<?php
class Blog extends CI_Controller { //controller có tên là Blog thừa kế controller của CI là CI_Controller
public function index() // funtion chính của controller có tên là index
{
echo '<h1>Hello World!</h1>';
}
}
?>
Xuất kết quả là
Hello World!
Thêm một funtion có tên là commentclass Blog extends CI_Controller {
public function index()
{
echo '<h1>Hello World!</h1>';
}
public function comment()
{
echo '<h1>Comment</h1>';
}
}
?>
URL: example.com/blog/comment
Xuất kết quả:
Comment
<?phpclass Blog extends CI_Controller {
public function index()
{
echo '<h1>Hello World!</h1>';
}
public function comment($id) //nhận id từ URL
{
echo $id;
}
}
?>
URL: example.com/blog/comment/12
Xuất kết quả là: 12
Hàm show_404(); trả về trang Lỗi 404 của CodeIgniter
với một trang web ta có thể tạo ra nhiều các controller và chúng ta phải quy định controller nào chạy trước bằng cách set cho controller chạy mặc định tại: application/config/routes.php
Tìm dòng $route['default_controller'] và thay đổi controller mà ta cần chạy.
View
Tất cả các file chứa giao diện người dùng được chứa trong thư mục views
tạo 1 file blogview.php trong views có nội dung như sau
<html>
<head>
<title>My Blog</title>
</head>
<body>
<h1>Welcome to my Blog!</h1>
</body>
</html>
trong controller có tên là blog
<?php
class Blog extends CI_Controller {
function index()
{
$this->load->view('blogview');
}
}
?>
$this->load->view('blogview') hàm load giao diện trong views ở đây chính là blogview mà ta vừa tạo
chạy thử: URL: example.com/blog/
Kết quả là:
Welcome to my Blog!
ngoài ra ta có thể vừa load view và có thể truyền dữ liệu để sử dụng trên view đó.$this->load->view('blogview', $data); $data chính là dữ liệu cần sử dụng.


Không có nhận xét nào:
Đăng nhận xét