Php 从其他模块访问symfony模块配置

Php 从其他模块访问symfony模块配置,php,symfony1,module,controller,symfony-1.4,Php,Symfony1,Module,Controller,Symfony 1.4,我正在使用symfony1.4开发一个有点复杂的、主要是AJAX的应用程序。使用module.yml配置文件中定义的模块的一些自定义属性对我非常有帮助,例如: all: first_property: value1 second_property: value2 等等 此属性主要用于格式化javascript生成的视图,使用模块返回的JSON值。例如,在我的主模块(用于渲染基本视图)控制器中,我希望使用类似以下内容: //在前端/modules/main中 $property sfCo

我正在使用symfony1.4开发一个有点复杂的、主要是AJAX的应用程序。使用module.yml配置文件中定义的模块的一些自定义属性对我非常有帮助,例如:

all:
  first_property: value1
  second_property: value2
等等

此属性主要用于格式化javascript生成的视图,使用模块返回的JSON值。例如,在我的主模块(用于渲染基本视图)控制器中,我希望使用类似以下内容:

//在前端/modules/main中
$property sfConfig::get('mod_somemodule_someproperty');
它将不起作用,因为默认情况下,sfConfig::get()方法无法在模块外部访问模块的属性

我的问题是:

是否有可能以某种方式访问这些属性

如果没有-如果有人建议一种不同的方式,我可以为我的模块指定一些重复属性,并从外部控制器访问它们,我将非常感激


谢谢。

如果您想访问模块外部的模块配置,为什么不将配置设置为应用程序级配置?
如果您想在应用程序之间共享应用程序级配置,则配置应为项目级

我想您熟悉
app.yml
config?用于存储整个应用程序的配置设置,而不仅仅是所选模块。这是存储更多通用设置的地方

但是,那就是说。您可以使用
sfYaml
类打开您选择的
module.yml
。类似这样的代码(伪代码)


或者,您可以将项目
all
键与所选环境合并。

每当我想在模块外共享任何代码时,我都会将其放入插件中,任何模块都可以从插件中获取。我不知道这是否适用于属性,但我怀疑是这样。

是的,我知道我可以在应用程序范围内指定设置,我只认为将它们设置为每个模块更合适(或更优雅),因为它们基本上是模块级的。例如,一个名为visible_fields的属性,定义了哪些模型字段应该在列表视图中可见。重点是,当您需要跨模块使用它们时,在模块级并不更合适。因此,我使用了应用程序级设置。谢谢大家的回复。
$moduleName = 'module';
$path = sfConfig::get('sf_app_dir').'/modules/'.$moduleName.'/config/module.yml';
$moduleConfig = sfYaml::load($path);
$property = $moduleConfig['all']['first_property'];