在 MVC 中的另一个用户控制器中扩展一个用户控制器是否正确?

Is it right extend an user controller in another user controller in MVC?

我处于一种情况,我正在考虑扩展用户控制器以消除代码复制,但我不确定这是否会破坏某些 MVC 规则,以及这是否是一种好的做法。为了说明,下面是一个代码示例。

class MyController extends CoreController {

    public function myMethod() {
        echo 'Hello world!';
    }
}

class OtherController extends MyController {

    public function otherMethod() {
        echo 'Hello life';
    }
}

我决定使用 PHP traits,这样我就可以进行水平继承,消除代码复制,我认为我遵循了 MVC 原则。

trait Shared {

    public function sharedMethod() {
        echo 'Hello, i am sharedMethod()!';
    }
}

class MyController extends CoreController {

    use Shared;

    public function myMethod() {
        echo 'Hello, i am myMethod()!';
    }
}

class OtherController extends CoreController {

    use Shared;

    public function otherMethod() {
        echo 'Hello, i am otherMethod()!';
    }
}

$MyController = new MyController();
$MyController->sharedMethod(); // Hello, i am sharedMethod()!

$OtherController = new OtherController();
$OtherController->sharedMethod(); // Hello, i am sharedMethod()!