【问题标题】:Is there a way to use hash mark in Phalcon route pattern?有没有办法在 Phalcon 路由模式中使用哈希标记?
【发布时间】:2019-06-07 12:07:11
【问题描述】:

有没有办法在路由模式中使用哈希标记?我尝试在哈希标记 \# 之前使用反斜杠,但没有结果。

我的代码:

use Phalcon\Mvc\Router\Group;

$gr = new Group([
  'module' => 'home',
]);

$gr->addPost("/item/view/([0-9]*)/#([0-9]*)", [
  'module'     => 'item',
  'controller' => 'view',
  'firstId' => 1,
  'secondId' => 2,
])->setName('item:view:hash');

$router->mount($gr);

用法:

echo $this->url->get(['for' => 'item:view:hash', 'firstId' => 1, 'secondId' => 2])

给了我一个正确的网址:/item/view/1/#2,但我收到了一个警告:

未知修饰符'('

有没有办法删除警告,以正确的方式使用井号?提前致谢。

【问题讨论】:

    标签: php regex phalcon phalcon-routing


    【解决方案1】:

    # 标记被发送到服务器之后什么都没有,因此将它包含在服务器端路由中不会做任何事情。片段/锚点仅在客户端。

    【讨论】:

    • 感谢您的回答。是的,我知道,我需要客户端功能的第二个参数。如果可能的话,我只需要使用 Phalcon 路由来构建该链接
    • @Elena 我怀疑 Phalcon 正在使用 # 字符作为他们的正则表达式轮廓符(因为它不应该在路由中)。尝试使用 \ - "/item/view/([0-9]*)/\#([0-9]*)" 转义它
    • 感谢您的回答!不幸的是,它没有帮助(它破坏了路线),但我同意我不应该使用它。我将重写功能。感谢您的帮助
    猜你喜欢
    • 2012-12-28
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2014-04-30
    相关资源
    最近更新 更多