ci控制器

℡╲_俬逩灬. 提交于 2019-12-25 17:47:02

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

一、什么是控制器?简而言之,控制器就是一个类文件,是一种能够和URI关联在一起的方式来命名的。

 URI: example.com/index.php/nlog/

上个例子中 CodeIgniter将会尝试查询一个名为Blog.php的控制器并加载它。

当控制器的名称和URI的第一段匹配上时,它将会被加载。、

让我们来试试看:Hello World!

接下来你会看到如何创建一个简单的控制器,打开你的文本编辑器,新建一个文件Blog.php,然后放入以下代码:

<?php
class Blog extends CI_controller {
	public function index() {
		echo "hello world!";
	}
}

然后将文件保存在application/controllers/目录下面。

注意: 文件名必须是大写字母开头,如:'Blog.php'。

现在使用类似下面的URL来访问你的站点:

example.com/index.php/blog/

如果一切正常,你将看到:Hello World!

 

注意: 类名必须以大写字母开头。

这是有效的:

<?php
class Blog extends CI_Controller {

}

这是无效的:

<?php
class blog extends CI_Controller {

}

另外一定要确保您的控制器继承了父控制器类,这样它才能使用父类的方法。

方法:

上例中,方法名为index()。"index"方法总是在URI的第二段为空时被调用。另一种显示"Hello World!"的方法是:example.com/index.php/blog/index/

URI中的第二段用于决定调用控制器中的哪个方法:

让我们试一下,向你的控制器添加一个新的方法:

<?php
class Blog extends CI_controller {
	public function index() {
		echo "hello world!";
	}

	public function comments() {
		echo " Look at this!";
	}
}

现在,通过下面的 URL 来调用 comments 方法:

example.com/index.php/blog/comments/

二、通过URI分段向你的方法传递参数

如果你的URI多于两个段,多余的段将作为参数传递到你的方法中。

假如你的URI是这样:example.com/index.php/products/shoes/sandals/123

你的方法将会接收到第三段第四段的两个参数("sandals"和"123"):

<?php
class Products extends CI_controller {
	public function shoes($sandals,$id) {
		echo $sandals;
		echo $id;
	}
}

注意:   如果你使用了 URI 路由 ,传递到你的方法的参数将是路由后的参数。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!