gpt4 book ai didi

php - 使用 CamelCase 操作名称时的 Yii2 路由

转载 作者:行者123 更新时间:2023-12-03 00:04:44 25 4
gpt4 key购买 nike

如果你说出以下 Controller 结构

<?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 中使用驼峰命名法结构来启用路由,最好不扩展路由类?

这很重要,因为它破坏了所有链接(当然是整个互联网)的向后兼容性,因此即使代码被完全重写,Yii1.x 应用程序也永远无法迁移到 Yii2.x。造成这一变化的原因是什么?

最佳答案

我也对这个改变感到有些困惑,但最终我发现它使 URL 更容易阅读。我不确定在 Yii1 中是否有区分大小写的路由,在 Yii2 中我不再有这个问题(或问题的印象)。

我不确定确切的原因,但我可以告诉你,对于 SEO 来说,最好是分隔单词而不是使用 1 个大单词。

当我在 yii2 中重写应用程序时,我将需要维护的所有旧路由放入 url 管理器中。

        'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
.................................................
'site/registerInterest' => 'site/register-interest',
.................................................

],
],

所以我的旧链接现在工作得很好。如果您想从旧路由到新路由以保持 SEO 效果,您还可以在 .htaccess 中放置 301 重定向。

关于php - 使用 CamelCase 操作名称时的 Yii2 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25697106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com