【问题标题】:Symfony's sfYaml::load returning a stange valueSymfony Yaml::load 返回一个奇怪的值
【发布时间】:2011-12-01 18:58:34
【问题描述】:

在 Symfony 项目中,我在 YML 文件中有以下 php 代码。我希望这段代码能够读取另一个 yml 文件并根据其值修改内容。但是, sfYaml::load 返回的是字符串而不是数组。任何想法为什么会这样?

在下面的代码中,我希望 $s 包含一个数组,但它包含一个值为“../config/server_settings.yml”的字符串。

来自databases.yml:

dsn:      mysql:host=myhost;dbname=mydbname<?php $s = sfYaml::load('../config/server_settings.yml');var_dump($s); ?>

【问题讨论】:

    标签: php symfony1 symfony-1.4 yaml


    【解决方案1】:

    看起来它正在将您的输入视为一串 yml 内容,可能是因为它找不到文件。尝试使用完整路径或使用is_file('../config/server_settings.yml')进行一些快速调试

    【讨论】:

    • 感谢您的回答。将其更改为使用 sfConfig::get('sf_config_dir') 解决了问题。最初我被抛弃了,因为它没有抛出异常或错误。
    • @Daniel 很高兴听到。我不得不深入研究 sfYaml 来提出这个建议。为相同参数获取字符串或文件路径的函数总是有点古怪。
    【解决方案2】:

    您似乎正在尝试定义自定义设置。

    也许这个页面可以帮助你: http://trac.symfony-project.org/wiki/HowToCacheCustomConfiguration

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多