https://codeigniter.org.cn/user_guide/installation/downloads.html
在该页面上选择最新版的CI进行下载,然后解压到自己的项目运行文件夹下,加压后的文件如下图:
在本地我的域名为:www1.CI.com。第一次打开时的页面如下:
如上图,这个文件的路径为:application/view/welcome_message.php,使用application/controllers/welcome.php作为其控制器渲染模板,内容:
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index() {
$this->load->view('welcome_message');
}
}
CI框架支支持model-view-controller模式,所以他的URL中的每一段通常表示下面的含义:
examople.com/class/function/ID
第三段及之后代表传递给控制器的参数,如ID或者其他任何变量
类似这样的:
example.com/index.php/products/shoes/sandals/123
后面有四段、五段…这些多余的段都将作为参数传递到方法shoes中,举例:
class Products extends CI_COntroller {
public function shoes($sandals, $id) {
echo $sadals;
echo $id;
}
}
index.php?c=products&m=view&id=345
类似这种字符串格式的URL,c表示controller的名字,m指向要调用的方法,配置方式如下:打开application/config/config.php配置文件,查找如下项:
$config['enable_query_strings'] = false;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
修改后的配置文件内容如下:
$config['enable_query_strings'] = true;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
之后我们就可以通过如下的方式方便的调用自己的控制器和方法了:
index.php?c=controller1&m=method1
简而言之,控制器就是一个类文件,是以一种能够和url关联在一起的方式来命名的。
如下的URL就会查询加载一个名为Blogs的控制器:
example.com/index.php/blogs/
在application/config/config.php中可以设置自己的默认控制器,当URL没有分段参数时就加载这个默认控制器,内容如下:
$route['default_controller'] = 'blogs';
此时就表示自己的默认控制器为blogs。
视图页面不能直接显示,它必须通过控制器来加载。加载视图的控制器语句:
$this->load->view('blogview'); //此处填写要加载的视图名称
例子:
Blogs.php(Controller文件):
class Blog extends CI_Controller {
public function index(){
$data['title'] = "My Real Title";
$data['heading'] = "My Real Heading";
$this->load->view('blogview', $data);
}
}
blogsview.html(View文件):
<html>
<head>
<title>$title; ?>title> //$title即控制器文件中定义的$data['title'];
head>
<body>
<h1><php echo $heading; />h1> //$heading即控制器文件中定义的$data['heading'];
body>
html>
在控制器中定义数组$data[‘todo_list’],然后在视图中循环输出:
foreach($todo_list as $item):?>
- echo $item; ?>
endforeach;?>
加载视图方法有一个可选的第三个参数可以修改它的默认行为,它可以让视图作为字符串返回而不是显示到浏览器中,这在你想对视图数据做某些处理的时候很有用,如果将该参数设置为TRUE,则方法返回字符串,默认情况下为false,即将视图直接显示在浏览器中,返回数据的格式如下:
$string = $this->load->view('myFile', '', TRUE);
是专门用来和数据库打交道的php类,主要包含数据库的插入、更新及查询数据的模型类,
下面是一个加载模型、处理视图的控制器:
class Blogs_controller extends CI_Controller {
public function blog() {
$this->load->model('blog');
$data['query'] = $this->blog->get_last_ten_entries();
$this->load->view('blog',$data);
}
}
即帮助我们完成特定任务的函数,每个辅助函数文件都是某一类函数的集合。如:URL辅助函数帮助我们创建链接,表单辅助函数帮助我们创建表单元素,文本辅助函数帮助我们处理文本的格式化,Cookie辅助函数帮助我们读取或设置Cookie,文件辅助函数帮助我们处理文件,等等等。
$this->load->helper('url'); //即加载文件名为url_helper.php的URL辅助函数
$this->load->helper(array('helper1', 'helper2', 'helper3'));
假设要在视图文件中使用anchor()函数建立连接,就可以这样做:
echo anchor('blog/commit', 'Click Here'); ?>
其中”Click Here”是链接的名称,”blog/comments”是你希望链接到controller/method的URL。