扫码关注官方订阅号
如何在thinkphp3.2以上的版本中建立全局的控制器,从而使得多个模可以块共同使用!
认证0级讲师
其实很简单,在Application/Common/Controller目录下建立个控制器继承Controller就行了,命名空间为Common/Controller,默认那个目录没有,你需要手动创建
建立一个控制器然后其他的控制器extends.不就通用了。
MyAction extends Action OtherAction extends MyAction
TP3.2已经完全面相对象,我们应该用面相对象的方式解决,他们的继承关系是这样的公共方法的Controller>继承自定义的公共Controller>继承自TP自己的Controller就可以了。
首先在Home/Controller/下建立CommonController.class.php这个控制器的namespace和use复制任意controller里的就可以。
然后在你需要使用这个控制器里面的方法的控制中修改(比如有一个叫HelloController.class.php)
class HelloController extends Controller{public function say(){echo "hello";}}
改成
class HelloController extends CommonController{public function test(){say();}}
这样就ok了,去试试吧,手机打的……没排版
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
其实很简单,在Application/Common/Controller目录下建立个控制器继承Controller就行了,命名空间为Common/Controller,默认那个目录没有,你需要手动创建
建立一个控制器
然后其他的控制器extends.不就通用了。
TP3.2已经完全面相对象,我们应该用面相对象的方式解决,他们的继承关系是这样的公共方法的Controller>继承自定义的公共Controller>继承自TP自己的Controller就可以了。
首先在Home/Controller/下建立CommonController.class.php这个控制器的namespace和use复制任意controller里的就可以。
然后在你需要使用这个控制器里面的方法的控制中修改(比如有一个叫HelloController.class.php)
class HelloController extends Controller{
public function say(){
echo "hello";
}
}
改成
class HelloController extends CommonController{
public function test(){
say();
}
}
这样就ok了,去试试吧,手机打的……没排版