【已解决】webman里面,我写个base控制器,然后其他控制器都继承这个base控制器

gddd

webman里面,我写个base控制器,然后其他控制器都继承这个base控制器,因为不能使用构造函数。
我发现只能在 父或者子,其中一个控制器里面使用beforeAction,不能两个控制器都使用beforeAction

4049 1 2
1个回答

nitron

继承自Base的Controller如果需要执行Base的beforeAction和afterAction后再执行自己的before/afterAction,需要显式的调用Base的吧,比如这样

class Base {
    public function beforeAction(Request $request){
        echo "Base";
    }
}
class Index extends Base {
    public function beforeAction(Request $request){
        parent::beforeAcion(Request $request);
        echo "Index";
    }
}

没有环境。没有实际测试过是否可行

  • gddd 2022-03-17

    这样可以

  • bestyao 2022-03-24

    我在beforeAction和afterAction方法里的echo怎么完全没有效果呢?只有response才会打印出内容出来。难道Windows环境不能打印出来吗

  • bestyao 2022-03-24

    我知道了,echo不是输出在浏览器页面上,而是输出在命令行里

  • Tinywan 2022-04-28

    尽然要安装 composer require webman/action-hook 这个插件,哈哈!

年代过于久远,无法发表回答
🔝