我有一个使用 Symfony 组件的应用程序。一切都很顺利,直到我遇到困难,需要将 Symfony 的请求对象添加到依赖注入容器中。
这是我的配置:
parameters:
config.project: %project_cfg%
config.module: %module_cfg%
config.mysql: %mysql_cfg%
config.couch: %couch_cfg%
request: %http_request%
services:
request:
class: Symfony\Component\HttpFoundation\Request
calls:
- [createFromGlobals]
db:
class: App\Core\AlarisDb
arguments: ["%mysql_cfg%"]
func:
class: App\Core\AlarisFunctions
calls:
- [setTree, ["@tree"]]
tree:
class: App\Core\AlarisTree
Run Code Online (Sandbox Code Playgroud)
一切都很完美,除了请求没有正确创建,因为在 PHP 中应该这样调用:
$request = Request::createFromGlobals();
Run Code Online (Sandbox Code Playgroud)
而 YAML 配置将其称为对象的方法。有没有办法告诉它作为静态方法调用?
我可能是错的,但我认为这需要工厂调用而不是“调用”调用,例如..
request:
class: Symfony\Component\HttpFoundation\Request
factory_class: Symfony\Component\HttpFoundation\Request
factory_method: createFromGlobals
Run Code Online (Sandbox Code Playgroud)
有关工厂的更多信息,请参阅文档。
| 归档时间: |
|
| 查看次数: |
8855 次 |
| 最近记录: |