创建自定义容器函数时,Slim 3容器未定义方法

时间:2017-10-22 22:58:32

标签: php slim slim-3

我尝试使用容器中的参数创建自定义函数,但我所做的一切最终都失败了。我目前的代码如下:

$container['myFunction'] = function($container) {
    return function($arg) {
        return $arg;
    };
};

// Called from a route:
echo $this->myFunction("test"); // Call to undefined method Slim\Container::myFunction()

我做错了吗?从我在网上看到的,这应该是使用Slim 3定义自定义容器功能的正确方法。任何帮助都会很棒,谢谢!

1 个答案:

答案 0 :(得分:2)

您需要先创建容器服务的实例,然后才能使用它。

$myFunc = $this->myFunction;
echo $myFunc('test');

或者在一条线上:

echo ($this->myFunction)('test');