在Symfony2中配置服务的所有可用选项列表
我从symfony2开始工作 现在我在.yml文件中编写configs,并使用如下构造在Symfony2中配置服务的所有可用选项列表,symfony,Symfony,我从symfony2开始工作 现在我在.yml文件中编写configs,并使用如下构造 services: my_mailer: # ... email_formatter_manager: class: EmailFormatterManager # ... email_configurator: class: EmailConfigurator arguments: [
services:
my_mailer:
# ...
email_formatter_manager:
class: EmailFormatterManager
# ...
email_configurator:
class: EmailConfigurator
arguments: ["@email_formatter_manager"]
# ...
没关系。问题是-在哪里可以找到描述服务的所有可用选项的列表
是的,我喜欢Symfony\Component\DependencyInjection\Definition的源代码,我知道我可以从setter获取列表。但我仍然希望找到这个参数的评论手册页。有人能帮我链接吗
谢谢您可以使用Symfony命令获取所有可用捆绑包的列表,然后向下搜索以获取其默认配置(如果已定义)和当前配置。例如: 列出所有捆绑包:
# can also use config:debug (or debug:config in Symfony 2.6 or later)
php app/console config:dump-reference
php app/console config:dump-reference WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
position: bottom
intercept_redirects: false
# Symfony <= 2.6
php app/console config:debug WebProfilerBundle
# Symfony 2.6+
php app/console debug:config WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
intercept_redirects: false
position: bottom
列出捆绑包的默认配置:
# can also use config:debug (or debug:config in Symfony 2.6 or later)
php app/console config:dump-reference
php app/console config:dump-reference WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
position: bottom
intercept_redirects: false
# Symfony <= 2.6
php app/console config:debug WebProfilerBundle
# Symfony 2.6+
php app/console debug:config WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
intercept_redirects: false
position: bottom
输出:
# can also use config:debug (or debug:config in Symfony 2.6 or later)
php app/console config:dump-reference
php app/console config:dump-reference WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
position: bottom
intercept_redirects: false
# Symfony <= 2.6
php app/console config:debug WebProfilerBundle
# Symfony 2.6+
php app/console debug:config WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
intercept_redirects: false
position: bottom
列出捆绑包的当前配置:
# can also use config:debug (or debug:config in Symfony 2.6 or later)
php app/console config:dump-reference
php app/console config:dump-reference WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
position: bottom
intercept_redirects: false
# Symfony <= 2.6
php app/console config:debug WebProfilerBundle
# Symfony 2.6+
php app/console debug:config WebProfilerBundle
# Default configuration for "WebProfilerBundle"
web_profiler:
toolbar: false
intercept_redirects: false
position: bottom
在Symfony 2.6及更高版本中,主命令切换到
debug:config
,但config:debug
被设置为别名,因此仍然可以工作。您可以查看services.xml的xsd,其中描述了结构的每种语法(yml仅在函数中的描述方式不同)。
例如,对于服务的可用密钥,您可以看到如下内容:
<xsd:complexType name="service">
<xsd:choice maxOccurs="unbounded">
<xsd:element name="file" type="xsd:string" minOccurs="0" maxOccurs="1" />
<xsd:element name="argument" type="argument" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="configurator" type="configurator" minOccurs="0" maxOccurs="1" />
<xsd:element name="call" type="call" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="tag" type="tag" minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="property" type="property" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
<xsd:attribute name="id" type="xsd:string" />
<xsd:attribute name="class" type="xsd:string" />
<xsd:attribute name="scope" type="xsd:string" />
<xsd:attribute name="public" type="boolean" />
<xsd:attribute name="synthetic" type="boolean" />
<xsd:attribute name="synchronized" type="boolean" />
<xsd:attribute name="lazy" type="boolean" />
<xsd:attribute name="abstract" type="boolean" />
<xsd:attribute name="factory-class" type="xsd:string" />
<xsd:attribute name="factory-method" type="xsd:string" />
<xsd:attribute name="factory-service" type="xsd:string" />
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="parent" type="xsd:string" />
</xsd:complexType>
可用我从未找到一个摘要列表。听起来是个不错的文档项目。这确实描述了所有的各种功能:尽管我怀疑你已经看到了。当然,最有用的是你的意思是获得所有可用服务的列表吗?如果是这样,您可以使用
app/console container:debug
。实际上,我对bundle列表或它们的选项不感兴趣。我正在寻找所有可用的选项来声明我自己的服务(例如)--捆绑在页面上指定的选项,但系统选项并不好,我想我正在试图弄清楚您的确切意思。您的意思是仅仅是应用程序中存在的所有服务的通用列表吗?