前端之家收集整理的这篇文章主要介绍了
使用CamelCase动作名称时,使用php – Yii2路由,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
301_0@
如果你说下面的控制器结构
<?PHP
namespace app\controllers;
use Yii;
use yii\web\Controller;
/**
* Test controller
*/
class TestController extends Controller
{
public function actionMyaction(){
...
//action logic
}
public function actionMyAction(){
...
//action logic
}
}
可以使用路径example.com/test/myaction访问第一条路线
每个Yii 1.x逻辑的第二条路线应该可以从路径example.com/test/myAction访问
在Yii2.x路由中使用连字符结构,只能从example.com/test/my-action访问
有没有办法在Yii2中启用使用camelCase结构的路由,最好不用路由类扩展?
这是重要的,因为它打破了所有的链接(当然是在互联网上)向后兼容性,因此Yii1.x应用程序永远不能迁移到Yii2.x,即使代码被完全重写.这个变化的原因是什么?
我也曾经提过这个改变,但是最终我发现它使URL更容易阅读.我不确定在Yii1中有一个区分大小写的路线,在Yii2中,我没有这个问题(或是一个问题的印象)了.
我不知道确切的原因,但我可以告诉你,对于SEO,最好是 – 分开单词而不是一个大字.
当我在yii2中重写了一个应用程序时,我把url的所有老路线放在我需要维护的路由器中.
'urlManager' => [
'class' => 'yii\web\UrlManager','enablePrettyUrl' => true,'showScriptName' => false,'rules' => [
.................................................
'site/registerInterest' => 'site/register-interest',.................................................
],],
所以我的旧链接现在工作很好.如果你想从旧的路线到新的路线,以保持SEO果汁,你也可以在.htaccess中设置301重定向.