【问题标题】:Fuelphp - pass default parameter to a controller in a rewrote routeFuelphp - 将默认参数传递给重写路由中的控制器
【发布时间】:2014-09-08 16:16:31
【问题描述】:

我想用fuelphp做一些我认为很基本​​的事情 基本上我需要在一个控制器上使用多个 url,并为每个不同的路由分配一个默认参数(一个 cat id)

例如,在我的清单控制器中,我想使用 2 条不同的路线:

/bags
/accessories

每个都会被分配它的猫 ID

在fuelphp中似乎找不到任何简单的方法......

【问题讨论】:

    标签: php fuelphp fuelphp-routing


    【解决方案1】:

    您可以指定类似'path/here/(:segment) => 'controller/cat/$1 的路由,然后将路由中捕获的段作为第一个参数传递给控制器​​类中名为action_cat 的方法。

    文档http://fuelphp.com/docs/general/routing.html中很好地概述了这种行为

    【讨论】:

    • 对不起,我的问题不是很清楚。我知道这种行为。我的问题是我不想使用 (:segment) 参数。我希望能够将 'example.com/we-make-wonderful-bags' 和 'example.com/we-also-make-wonderful-leather-socks' 之类的 url 路由到同一个控制器,并为每个控制器分配一个不同的 cat id,例如 'controller/cat/1' 和 'controller/cat/2'。我的测试不合格。无论如何,谢谢你的回答,伙计
    • 如果你愿意,你也可以使用闭包/匿名函数来返回不同的目标 uri。
    • 抱歉,忘记了文档fuelphp.com/docs/general/routing.html#/inline_routes的相关链接
    • 是的,它以这种方式工作,但我认为会有一种更简单直接的方法。反正已经搞定了,谢谢
    • 我需要做的最后一件事是知道如何从控制器内部检索我在请求中输入的参数。 $this->params(), \Input::get \Input::post 不要给我任何东西......我的最终路线看起来像这样:'bags' => function () { return \Request::forge ('front/listing')->execute(array("catId" => "1")); }
    猜你喜欢
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 2017-01-12
    • 1970-01-01
    • 2012-09-20
    相关资源
    最近更新 更多