我在徘徊在 Yii 框架中使用哪种解决方案更好,
1) 从 somethingController.php 重定向页面
$this->redirect(array($this->id."/something"));
|| 或者
2)创建网址
$this->createUrl($this->id."/something");
使用您需要的控制器和操作查看。
或者也许有更好的解决方案?
谢谢
它喜欢问what is better miles or pounds?
。那功能是很不一样的。
在某些情况下,您需要redirect
在无需用户操作的情况下更改页面时使用,例如在控制器中:
if($money==0)
{
$this->redirect(array('alerts/notEnoughMoney'));
}
如果您想生成将在html 链接中使用的地址,那么您需要使用createUrl
,因为它会:
您可以createUrl
在视图中使用,例如:
<?php
$link = $this->createUrl(array('user/profile'));
?>
<a href="<?php echo $link ?>">My Profile</a>
在任何情况下,如果您使用重定向搜索机器人可见的内容,则需要添加第二个参数:
$this->redirect(array('alerts/notEnoughMoney'),301);
----------------------------------------------^^^^
使用此参数,机器人将了解下一个页面是永久的,并将其缓存为“主”。
$this->createUrl($this->id."/".$this->action->id);
更好,因为它也可以与 URL 管理器一起使用并提供重写 URL。