Php 如何使用service.yml中的自定义选项?
在Symfony 3中,是否可以将任何自己的选项添加到service.yml文件中,然后使用它 例如,我在service.yml文件中添加了一个描述: 如果可能,我如何从我的服务类中获取此描述 我试过了Php 如何使用service.yml中的自定义选项?,php,symfony,Php,Symfony,在Symfony 3中,是否可以将任何自己的选项添加到service.yml文件中,然后使用它 例如,我在service.yml文件中添加了一个描述: 如果可能,我如何从我的服务类中获取此描述 我试过了 $this->container->get('app.message_generator'); 但我看不到信息 谢谢 services: app.message_generator: description: 'Some description...'
$this->container->get('app.message_generator');
但我看不到信息
谢谢
services:
app.message_generator:
description: 'Some description...'
class: AppBundle\Service\MessageGenerator
arguments: ['Some description...']
显然,您需要在服务中添加一个参数。您是否尝试过以下方法:
services:
app.message_generator:
class: AppBundle\Service\MessageGenerator
arguments: [ 'Some description...' ]
在你的服务课上:
/**
* @param string $description
*/
public function __construct(
$description)
{
$this->description = $description;
}
但说实话,我不明白你为什么要这样做,因为
我想你不会从集装箱里拿的。您可以通过从yml文件加载配置本身来实现;让我们知道你想用它做什么,你想完成什么。我想在我的应用程序中有一个服务列表,其中包含服务的描述。你可能可以使用标签做你想做的事情:但是就像其他几张海报提到的那样,很难看到描述的用例。你想为程序员或网站的某些用户提供服务描述,以便他们知道自己在使用什么?这些都不属于服务配置。从这个意义上讲,服务应该能够描述自己,因此听起来像是一个接口:
servicescriptioninterface
,其中有一个必需的方法:公共静态函数getDescription()代码>那么每个应该是自描述的服务都将实现该接口。
/**
* @param string $description
*/
public function __construct(
$description)
{
$this->description = $description;
}
class Service
{
const DESCRIPTION = 'Some description...';