【推荐】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 路由 ,传递到你的方法的参数将是路由后的参数。
来源:oschina
链接:https://my.oschina.net/u/4225107/blog/3147326