RouteCollection.yml中的中间件

时间:2016-06-02 10:38:41

标签: routes middleware silex

我正在寻找将Silex中的路由集合与中间件相结合的解决方案。我不知道如何解决这个问题。有人有想法吗?

indexGet:
    path: /chat
    defaults: { _controller: 'resources\controller\StartApp::indexHtml'       }
    methods: [GET]

indexPost:
    path: /chat
    defaults: { _controller: 'resources\controller\StartApp::sendMessage'}
    methods: [POST]

LoginGet:
    path: /login
    defaults: { _controller: 'resources\controller\Logins::checkLoginData'}
    methods: [GET]

RegisterGet:
    path: /register
    defaults: { _controller: 'resources\controller\RegisterForm::showReg'}
    methods: [GET]

RegisterPost:
    path: /register
    defaults: { _controller: 'resources\controller\RegisterForm::showReg'}
    methods: [POST]

root:
    path: /
    defaults: { _controller: 'resources\controller\StartApp::reCon' }
    methods: [GET]

1 个答案:

答案 0 :(得分:2)

您可以在路径配置文件中添加中间件 例:

indexGet:
    path: /chat
    defaults: { _controller: 'resources\controller\StartApp::indexHtml'       }
    methods: [GET]
    options:
        _before_middlewares: [ttttt1]
        _after_middlewares: [ttttt2]

并在代码

中定义回调ttttt1ttttt2
function ttttt1($request, $app) {
    echo 'ttttt1';
}
function ttttt2($request, $response, $app) {
    echo 'ttttt2';
}

http://silex.sensiolabs.org/doc/master/middlewares.html http://symfony.com/doc/current/book/routing.html