Php 将参数传递给控制器方法

Php 将参数传递给控制器方法,php,symfony,controller,silex,Php,Symfony,Controller,Silex,我正在使用silex,我正在尝试将控制器用作服务。这个概念很好,但我不知道如何将参数传递给控制器方法。这就是我的意思 IndexController.php class IndexController { public function pagesAction($page) { return $page; } } //app.php $app['index.controller'] = $app->share(function() use ($app) {

我正在使用silex,我正在尝试将控制器用作服务。这个概念很好,但我不知道如何将参数传递给控制器方法。这就是我的意思

IndexController.php

class IndexController
{
  public function pagesAction($page)
  {
    return $page;
  }
}
//app.php

$app['index.controller'] = $app->share(function() use ($app) {
       return new Controllers\IndexController();
     });
 $app->get('/pages/{num}', "index.controller:pagesAction");
当我访问第/3页时,我得到

Controller "SD\Controllers\IndexController::pagesAction()" requires that you provide a value for the "$page" argument (because there is no default value or because there is a non optional argument after this one).
我也试过了

$app->get('/pages/{num}', "index.controller:pagesAction:num");
有什么想法吗?

改变这个

class IndexController
{
  public function pagesAction($page) //what is $page? Is not into route
  {
    return $page;
  }
}

这是因为silex(当然也是Symfony2逻辑)希望从路由到控制器的参数名称完全相同

或 您应该为
$page
变量更改要参数化的路线

class IndexController
{
  public function pagesAction($page) //what is $page? Is not into route
  {
    return $page;
  }
}

这是因为silex(当然也是Symfony2逻辑)希望从路由到控制器的参数名称完全相同

或 您应该为
$page
变量更改要参数化的路线

class IndexController
{
  public function pagesAction($page) //what is $page? Is not into route
  {
    return $page;
  }
}

这是因为silex(当然也是Symfony2逻辑)希望从路由到控制器的参数名称完全相同

或 您应该为
$page
变量更改要参数化的路线

class IndexController
{
  public function pagesAction($page) //what is $page? Is not into route
  {
    return $page;
  }
}

这是因为silex(当然也是Symfony2逻辑)希望从路由到控制器的参数名称完全相同


您应该为
$page
变量更改要参数化的路由

不熟悉silex,但尝试在控制器中将$page更改为$num。不熟悉silex,但尝试在控制器中将$page更改为$num。不熟悉silex,但尝试在控制器中将$page更改为$num。不熟悉silex,但尝试更改控制器中的$page到$num。