【问题标题】:How to find YII routes from url如何从 url 找到 YII 路由
【发布时间】:2018-07-05 05:24:48
【问题描述】:

我是 Yii 框架的新手。我正在 Yii 框架 web 应用程序中做一个小的修正。他们的第三方 Fax(Fax.de) API 提供商更改了一些内容,我正在尝试更改代码,但我无法获得正确的文件。

如果网址是 www.example.com/paymentoption。什么控制器可以工作,我在哪里可以得到 Route 文件夹?

请帮帮我...

【问题讨论】:

  • 除了以下答案之外,您还应该检查您的应用配置文件,了解一些 urlManager rule 可能会将您的 paymentoption 重定向到“常规”位置以外的任何其他位置。

标签: yii yii2 yii2-advanced-app yii-components


【解决方案1】:

yii 中没有路由文件夹或文件。 从 Url 中,您可以简单地找到名为 paymentoption 的控制器。并且您可以找到默认调用的方法 actionIndex

【讨论】:

    【解决方案2】:

    来自文档:

    路由涉及两个步骤:

    传入的请求被解析成一个路由和相关的查询 参数;对应于解析路由的控制器动作是 创建来处理请求。使用默认 URL 格式时, 将请求解析为路由就像获取 a 的值一样简单 获取名为 r 的查询参数。

    当使用漂亮的 URL 格式时,URL 管理器将检查 注册的 URL 规则以找到匹配的可以解析请求的规则 进入一条路线。如果找不到这样的规则,则 yii\web\NotFoundHttpException 会抛出异常。

    一旦请求被解析为路由,就该创建路由了 路由标识的控制器动作。路线断了 由其中的斜线分成多个部分。例如,站点/索引将 分为站点和索引。每个部分都是一个 ID,可以引用一个 模块、控制器或动作。

    在这种情况下,链接:www.example.com/paymentoption 将使用控制器 PaymentoptionControlleractionIndex,也可以是一个模块。

    我建议阅读 RoutingUrl manager 部分的文档:https://www.yiiframework.com/doc/guide/2.0/en/runtime-routing

    【讨论】:

      【解决方案3】:

      Yii 是一个基于传统的框架。也就是说,您应该遵循某些命名约定来创建您的组件。

      例如。你的控制器应该是

          SomenameController
      

      注意,上面的控制器名称有命名约定 ControllerSomename 相邻

      在这里,您没有路由器文件夹,而是控制器

           //Get controller name
           echo Yii::$app->controller->id
      

      您可以在控制器文件夹中找到具有该名称的控制器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        • 2019-10-03
        • 1970-01-01
        • 2015-02-05
        相关资源
        最近更新 更多