ThinkPHP空模块和空操作详解

5年以前  |  阅读数:668 次  |  编程语言:PHP 

ThinkPHP的空模块和空操作也是很有实用意义的功能,空模块的概念就是当ThinkPHP找不到指定模块的时候,它会尝试去定位空模块(EmptyAction),执行空模块里面的index操作。同理,空操作也是同样的概念,当系统找不到指定模块下的操作方法的时候,就会尝试去定位空操作方法(empty)。其实很好理解,就有点类似php虚拟主机里面的自定义404页面,但它比自定义404更加灵活,利用这个机制,我们可以实现错误页面和一些URL的优化,下面分别详细介绍下空模块和空操作的写法。

1.空模块,在项目中定义EmptyAction类:


    <?php
    public class EmptyAction extends Action {
    public function index(){
    echo "当前模块不存在";
      }
     }
    ?>

这就是一个简单的空模块类,当然您也可以在里面做一些更加复杂的操作,一切都得根据项目的需求来写,这里只是做了演示。

2.空操作,空操作即在指定的模块下面定义,比如说,我们在User这个模块,也就是UserAction类下面定义一个空操作。


    <?php
    class UserAction extends Action
    {
    public function index()
    {
    $this->display();
      }
    public function demo(){$this->display();
      }
    public function _empty(){
       //该方法即为空操作
       echo '当前操作不存在';
      }
     }
    ?>

代码很简单,这就是一个空方法,并且空模块和空操作还可以同时使用,用以完成更加复杂的操作。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8