我正在使用一个不是特别为symfony(TNTsearch)制作的包,并且已经将我想要使用的所有函数放在我调用的服务中TNTsearchHelper.php.此服务需要一些变量,包括可以在.env文件中找到的变量.我目前在我的班级中定义和构建这些:
class TntSearchHelper
{
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
$config = [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'databasename',
'username' => 'user',
'password' => 'pw',
'storage' => 'my/path/to/file',
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
];
$this->config = $config;
}
Run Code Online (Sandbox Code Playgroud)
我真正想要的是简单地使用.env文件中设置的数据库变量.有没有办法做到这一点?此服务未注册,services.yaml因为这不是autowire: true选项所必需的,所以我没有任何配置选项/文件用于我的服务,config并想知道我是否可以保持这种方式.
我有一个包含接口的包,Optimax\HealthCheckBundle\Service\HealthInterface
我需要为实现此接口的所有服务设置标签。我使用以下指令执行此操作:
_instanceof:
Optimax\HealthCheckBundle\Service\HealthInterface:
tags: ['health.service']
Run Code Online (Sandbox Code Playgroud)
当我将此指令放入config/services.yaml. 但是,如果我将此代码放入我的包的配置中(需要通过作曲家),vendor/optimax/health-check/src/Resources/config/services.yaml则它不起作用。services.yaml当我需要这个包到一个新项目时,我不想每次都复制粘贴这个指令。
如何将此指令移动到services.yaml我的 Bundle 目录中或至少移动到config/packages项目文件夹中的另一个文件中?