use*_*408 5 php console symfony symfony4
我有一个简单的Symfony 4 Console 应用程序。在execute()方法中,我需要打印应用程序根路径。
这$this->getContainer()->get('kernel')->getRootDir()- 不行。
这$this->get('kernel')->getRootDir();- 不行。
这$this->get('parameter_bag')->get('kernel.project_dir');- 不行。
如何获取应用程序根路径?
我建议不要将容器注入命令,而是在服务定义中明确传递参数
源代码/命令
class YourCommand extends Command
{
private $path;
public function __construct(string $path)
{
$this->path = $path;
}
public function (InputInterface $input, OutputInterface $output)
{
echo $this->path;
}
}
Run Code Online (Sandbox Code Playgroud)
配置/服务.yaml
services:
# ...
App\Command\YourCommand:
arguments:
$path: '%kernel.project_dir%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2882 次 |
| 最近记录: |