欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ThinkPHP空模块和空操作详解

程序员文章站 2023-11-17 12:37:52
thinkphp的空模块和空操作也是很有实用意义的功能,空模块的概念就是当thinkphp找不到指定模块的时候,它会尝试去定位空模块(emptyaction),执行空模块里...

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 '当前操作不存在';
  }
 }
?>

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