【问题标题】:Controller within another Controller另一个控制器中的控制器
【发布时间】:2009-10-21 09:50:04
【问题描述】:

是否可以使用 Yii 框架在另一个控制器类中实例化一个控制器类

例如我有控制器 Student 和班级学生的方法 actionShow 我有以下

public function actionShow()
    {  

        $student = $this->loadStudent();

        $studentContact = new Student_ContactController;

        //Checking if there was an ajax request
        if(Yii::app()->request->isAjaxRequest){
            $this->renderPartial('show',array(
                'student'=>$student,

            ));
        }else{
            $this->render('show',array(
                'student'=>$student,
            ));
        }



    }

是否可以在 $studentContact = new Student_ContactController; 方法中包含这个动作

得到错误,:-(

【问题讨论】:

  • 你很可能有设计问题,尝试重构你的代码。数据应该是模型而不是控制器。

标签: php yii


【解决方案1】:

我不知道 Yii 框架,但是因为它是一个 MVC 框架,那么获取数据应该是模型的一部分,因此 $studentContact 应该是模型的实例,而不是控制器的实例。

如果你真的想实例化一个控制器的实例,那么用括号调用构造函数:

    $studentContact = new Student_ContactController();

【讨论】:

    猜你喜欢
    • 2016-04-22
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    相关资源
    最近更新 更多