PHP-DI 调用默认参数为 null 的方法



我正在尝试对具有默认参数的方法使用 PHP-DI 调用,但我收到此错误

致命错误:未捕获的调用程序\异常\不够参数异常:无法调用可调用对象,因为没有为参数 1 提供值...

PS : PHP DI 6

  Classe Bill
  {
  public function index($slug=null,Request $request){
            //----
       }
  }
use DIContainerBuilder;
$containerBuilder = new ContainerBuilder;
$container = $containerBuilder->build();
$controller = 'Bill' ;
$method = 'index';
$parameters = []; 
$response = $container->call([$controller,$method], $parameters);

作品:

class TestController { function doAction(Request $request, int $id = null) {} }

不起作用:

class TestController { function doAction(int $id = null, Request $request) {} }

来源: https://github.com/PHP-DI/Slim-Bridge/issues/37#issuecomment-368954250

您需要

为参数 $slug 提供一个值。

当参数在非可选参数之前是可选的时,不能省略它。所以你必须提供它的价值。

相关内容

  • 没有找到相关文章

最新更新