mog*_*man 1 configuration command-line symfony
有谁知道我可以为控制台/命令行命令(或者实际上在应用程序的任何部分中)创建配置的最佳方式?
我想要实现的是这个(例如)
$ app/console myapp:sync --server=server_2
connecting to "server2.servers.com"...success!
sync completed.
Run Code Online (Sandbox Code Playgroud)
其中myapp是/src/myBundle/Command/SyncCommand.php下的命令行类和配置(app/config/config.yml?)中的命令行类:
myapp:
server_1:
hostname: "server1.servers.com"
port: 22
server_2:
hostname: "server2.servers.com"
port: 22
Run Code Online (Sandbox Code Playgroud)
对于这个例子,同步的作用并不重要(代码已经被编写为SyncCommand.php),我只想知道要使用哪个配置文件(我假设是config.yml或parameters.ini)和如何阅读该配置(treeBuilder?或类似$ this-> getParameters('myapp')的东西?我怀疑我遗漏了某些明显的东西.
谢谢!
在命令中,如果扩展ContainerAwareCommand类,则可以使用getContainer()方法访问容器.
您可以在services文件的参数部分中定义配置:
parameters:
server_1:
hostname: "server1.servers.com"
port: 22
server_2:
hostname: "server2.servers.com"
port: 22
Run Code Online (Sandbox Code Playgroud)
然后你应该能够使用容器访问它们(就像在另一个问题中描述的那样):
$this->getContainer()->getParameter('server_1');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3920 次 |
| 最近记录: |