微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用CamelCase动作名称时,使用php – Yii2路由

如果你说下面的控制器结构
<?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重定向.

原文地址:https://www.jb51.cc/php/132722.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐