ThinkPHP3.0完全开发手册                                           

 

5.5   空模块

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

现在我们把前面的需求进一步,把URL由原来的

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

变成

http://serverName/index.php/shanghai/

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

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

http://serverName/index.php/beijing/

http://serverName/index.php/shanghai/

http://serverName/index.php/shenzhen/

由于系统并不存在beijingshanghai或者shenzhen模块,因此会定位到空模块(EmptyAction)去执行,会看到依次输出的结果是:

当前城市:beijing

当前城市:shanghai

当前城市:shenzhen

 

空模块和空操作还可以同时使用,用以完成更加复杂的操作。


NetPc