在 AController里实现了一段功能,想在BController里面调用。
在Yii2里,控制器间互相调用真麻烦,最简单的方法就是写成静态的,但那就有很多属性不能用到。
有没有好的方法。
2种情况,一个是AController和BController中有很多功能或属性都是一样的,那可以把公共的放在基类里,让AController和BController去继承。另一个是AController和BController中只有少部分功能或属性两个控制器都会用到,那就把这些单独提取出来,写到一个Model里,或者在Controller和Model之间再定义一个Business类。如果BController的功能必须借助于AController中的属性,那代码实现本身可能有比较大的问题。
Yii::$app->runAction();