Routing Phalcon布线-使布线段可选

Routing Phalcon布线-使布线段可选,routing,phalcon,Routing,Phalcon,我已将以下路线添加到Phalcon\MVC\Router: $router = new Phalcon\Mvc\Router(); $router->removeExtraSlashes(true) ->setDefaultNamespace('My\Controllers') ->setDefaultModule('default') ->setDefaultController('index') ->setDefaultActi

我已将以下路线添加到
Phalcon\MVC\Router

$router = new Phalcon\Mvc\Router();

$router->removeExtraSlashes(true)
    ->setDefaultNamespace('My\Controllers')
    ->setDefaultModule('default')
    ->setDefaultController('index')
    ->setDefaultAction('index');

$router->add('/admin/:controller/:action/:params', [
    'module' => 'admin',
    'controller' => 1,
    'action' => 2,
    'params' => 3,
    'namespace' => 'My\Admin\Controllers'
])->setName('admin_module');
我正在处理以下URL:

  • /admin/foo/bar/baz
    -效果良好。我得到
    admin
    模块、
    foo
    控制器、
    bar
    动作、
    baz
    参数

  • /admin/foo/bar
    -效果良好。我得到
    admin
    模块,
    foo
    控制器,
    bar
    动作

  • /admin/foo
    -不匹配。我希望获得
    admin
    module、
    foo
    controller、
    index
    action

  • /admin
    -不匹配。我希望获得
    管理
    模块、
    索引
    控制器、
    索引
    操作

  • 问题是:

    如何使管段可选并默认为控制器和动作名称的默认值。我希望避免为
    /admin
    /admin/:controller
    定义额外的路由


    谢谢。

    最常用的方法是使用相同的
    路径
    选项将每个模式添加到
    路由器
    ,作为自定义
    路由
    (路径::添加()中的第二个参数)。 至于注释路由,最好为
    操作
    方法选择很少的
    @Route
    指令。 这种方式主要用于使用,因为方便的
    URL
    通过
    Route
    (路由名称)生成比通用的更快


    问候

    谢谢!几天前我刚刚学习了phalcon,我不知道你们也可以使用注释来执行路由(我认为注释只用于定义模型中的字段类型)。