在两个不同的控制器上使用相同的功能


Using the same function on two different controllers

我的网站上有两个控制器,我们叫它们为MovieController和ReviewController。

我想做的是在ReviewController中使用MovieController的一个函数。

我唯一能想到的是扩展MovieController而不是CController。然而,我很难相信这是正确的解决方案……

你至少有两个选择

1)将功能移动到主控制器,在components/Controller.php

class Controller extends CController {


2)从上述主控制器扩展另一个类,并将共享的Movie/Review功能放入其中。让MovieController和ReviewController都从这个中间控制器扩展。可以叫它SharedController:

class SharedController extends Controller {

class MovieController extends SharedController {

class ReviewController extends SharedController {

您可以:1)创建Helper类2)使用特质/行为等。