function app($key = null, $value = null)
{
if (null !== $key && null !== $value) {
$GLOBALS['__app'][$key] = $value;
}
return (object) $GLOBALS['__app'];
}
所以,我通常有这样的函数,我存储像Request和Session这样的东西,以便在我的应用程序的任何地方使用它们。例如:
app('req', new Request);
然后我像这样使用它:
app()->req->getMethod();
我的问题是,究竟是什么?此功能是否充当服务定位器和/或服务容器?我试图记录我的代码,但我在解释此代码时遇到了问题。
答案 0 :(得分:0)
它只是一个创建全局(app)变量的哈希映射。它被转换为对象,因此您可以使用app()->req
代替$map = app(); $value = $map['req']
答案 1 :(得分:0)
这是一个服务容器,您可以在此处找到更多信息:
它比singleton更好,因为你可以注入模拟对象,所以它更可单元测试