PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

thinkphp使用tp框架中使用空操作和空方法,不能定位到_empty()

原创
2016-06-06 20:28:11 1435浏览

namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller{

public function _empty() {
    $this->show('404');
}

}
定义了一个空操作和空方法,不存在的空操作和空方法都能走到EmptyController ,
但是已存在的类下面写一个不存在的方法就提示非法操作了。

在每个类下面都写一个_empty()肯定是不现实的,这个控制器放的位置不对吗?

回复内容:

namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller{

public function _empty() {
    $this->show('404');
}

}
定义了一个空操作和空方法,不存在的空操作和空方法都能走到EmptyController ,
但是已存在的类下面写一个不存在的方法就提示非法操作了。

在每个类下面都写一个_empty()肯定是不现实的,这个控制器放的位置不对吗?

你写的有问题,应该是把你的_empty方法写到请求的controller里面,而不是空控制器里面。

就算是要写到空控制器里面,也不是你这样的写法,具体看官方文档:空控制器

如果不想每个类下面都有一个_empty方法,可以写一个BaseController 继承Controller,把_empty方法写到这个里面,你的其他控制器继承这个BaseController就可以了

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。