createUrl Yii - 我们应该在控制器视图上调用它,还是无所谓?

MEM*_*MEM 1 php yii

应该在控制器上还是在视图中调用createUrl?没关系?或者它确实重要?

我们应遵循规则吗?像扩展ccontroller的方法应该在控制器等上使用..?

sen*_*rio 6

在View中,您可以使用此代码段.您可以在任何地方使用此代码段.

Yii::app()->createUrl();
Run Code Online (Sandbox Code Playgroud)

但对我来说最好在控制器的动作中定义一个url,并在视图中使用$ some_url var.

class SomeController extends Controller
{
    public function actionSomeAction()
    {
        $params = array(
            'key1' => 'value1',
            'key2' => 'value2',
        );

        $myUrl = Yii::app()->createUrl('controller/action', $params);

        $this->render('some_action', array(
            'my_url' => $myUrl
        ));
    }
}
Run Code Online (Sandbox Code Playgroud)