将命名参数与标准参数 Phalcon 混合



我有一个加载字体的网址:

/templatename/fonts/helvetica?weights=regular,bold,light

在PHP中,它将动态生成一个具有适当字体引用的CSS文件。

我们最近刚搬到Phalcon,它坏了。我正在尝试弄清楚如何告诉路由器将字体名称用作命名参数,但也使用标准参数样式。带有问号。

这是我的路由器现在的样子:

...
    "fonts"=>[
             "pattern" => "/fonts/{file:[wW]}",
             "route" => [
                 "controller" => "asset",
                 "action" => "fonts"
              ]
       ]
...

当我使用调度程序循环时,如下所示:

$params = $this->dispatcher->getParams()

数组不显示权重参数:

Array
(
    [template] => templatename
    [file] => helvetica
)

如何在不更改 URL 结构的情况下使其看起来像这样?

Array
(
    [template] => templatename
    [file] => helvetica
    [weights] => regular,bold,light
)

如果您有以下网址:

/templatename/fonts/helvetica?weights=regular,bold,light

然后weights=regular,bold,light是 GET 参数。

您可以使用以下命令在 Phalcon 中请求这些内容:

$weights = $this->request->getQuery('weights')

您不必在路由中声明这一点,Phalcon 会自动将这些GET参数附加到路由的末尾。

查看 Phalcon HTTP 请求文档以获取更多信息

最新更新