数字化技能提升教程,数字化时代生存宝典

数字化百科 / 词条 / ThinkPHP开发指南-控制器之空模块

ThinkPHP开发指南-控制器之空模块

查看全部词条命名空间:Main

导航:返回上一页

空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的


http:///index.php/City/shanghai/

变成


http:///index.php/shanghai/

这样更加简单的方式,如果按照传统的模式,我们必须给每个城市定义一个Action类,然后在每个Action类的index方法里面进行处理。 可是如果使用空模块功能,这个问题就可以迎刃而解了。 我们可以给项目定义一个EmptyAction类

PHP代码


Class EmptyAction extends Action{

Public function index(){

// 根据当前模块名称来判断要执行哪个城市的操作

$cityName = MODULE_NAME;

$this->city($cityName);

}

Protected function city($name){

// 和$name 这个城市相关的处理

Echo ('当前城市: '.$name);

}

}


接下来,我们就可以在浏览器里面输入

http:///index.php/beijing/

http:///index.php/shanghai/

http:///index.php/shenzhen/

会看到依次输出的结果是:

当前城市:beijing

当前城市:shanghai

当前城市:shenzhen

category:ThinkPHP