能否构造另外一个app的url?

利用cookbook所说的办法构造后台app,backend.php 入口

在后台中,是否可以利用 createUrl() 构造前台url?

这是不支持的,毕竟不同应用的URL规则可能是完全不一样的。这种情况一般就得硬性指定了。

自己尝试了一下:


<?php

Yii::import('backend.components.FrontendUrlManager');


$frontendUrlManager = new FrontendUrlManager();

$urlConfig = require_once(Yii::app()->basePath.'/config/url.php');

foreach($urlConfig as $key => $value)

{

    $frontendUrlManager->$key = $value;

}

//$frontendUrlManager->init();


Yii::app()->setComponent('frontendUrlManager', $frontendUrlManager);


var_dump(Yii::app()->frontendUrlManager->createUrl('passport/logout'));


?>

可以成功创建前台路由所配置的url了,可是脚本名称还是 backend.php 不知道如何解决?

现在还有一个问题想请教,就是如何可以更方便的动态创建一个组件component ?并一次将配置赋值~

你这倒是个很好的主意:一个application允许有多个URL manager。

脚本名车还是backend.php是因为它是根据当前请求的脚本名称决定的。我可以对CUrlManager作些增强,允许配置脚本名称。

你能对此提交一个ticket么?谢谢。

对,我也想到了这个,假如可以对脚本名称进行设定,就可以完全解决问题了~

我应该把ticket提交到哪个地方? 因为刚看yii时间不长,所以不太了解流程,不好意思

http://code.google.com/p/yii/issues/list

已经提交了一个new ticket

http://code.google.com/p/yii/issues/detail?id=686

Jerry 来了,添砖加瓦啊。赞一个。

将部分 Q 思想加入 Y,那就很爽了。