在不改源码的前提下最小工作量重写Controller

技术问题 · johocn · 于 4年前 发布 · 1260 次阅读
use fecshop\app\appfront\modules\AppfrontController;
use Yii;

/**
 * @author Terry Zhao <2358269014@qq.com>
 * @since 1.0
 */
class CartInfoController extends AppfrontController
{

以上是源码, 因为很多Controller都扩展AppfrontController

现在想要在AppfrontController里加几个公共的方法,有没有便捷方法

不想要这种

use fecshop\app\appfront\modules\AppfrontController;
use Yii;

/**
 * 扩展
 */
class MiddleController extends AppfrontController
{


}
class CartInfoController extends MiddleController
{


}
共收到 1 条回复
Fecmall#14年前 0 个赞

有,用yii2的classMap

好处是可以重写任何一个类,是通过namespace替换的方式,缺点是,只能通过替换,不能通过继承(新建的类继承原来的类),不过对于你写的这个基类,一般也不会更新,问题应该不大。/

详细参看文档:http://www.fecmall.com/doc/fecshop-guide/develop/cn-2.0/guide-fecmall-rewrite-func.html#7yii2classclassmapfecmall

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics