cakephp配置设置中的变量

时间:2010-08-30 03:03:40

标签: cakephp

可能有一种不同的简单方法来实现我在cakephp中尝试做的事情,但我无法做到。 这是我想要做的: 我有一个设置文件,我通过配置对象读取,设置为

$config['pageMeta']=array(
'1'=>array('desc'=>'<?php echo $param1 ?> some data, <?php echo $param2 ?> some content in <?php echo $param3 ?>')
);

我想做的是将上面的字符串读作

Configure::read('pageMeta.1.desc');并以某种方式评估'param1','param2'和'param3'替换为实际值。我在视图布局中这样做。我可能会编写一个函数来进行字符串替换,但不确定这是否是正确的方法。

感谢任何帮助。

感谢 aboxy

1 个答案:

答案 0 :(得分:0)

为了在字符串中替换字符串,

"<?php echo $param1 ?>"是一个坏主意。有更好的方法:

  1. Cake自己的String::insert函数:

    $str = 'Hello :place, the :noun is :adjective.';
    echo String::replace($str, array('place' => 'World', 'noun' => 'weather', 'adjective' => 'hot'));
    // Hello World, the weather is hot.
    
  2. PHP的sprintf

    $str = 'Hello %s, the %s is %s.';
    echo sprintf($str, 'World', 'weather', 'hot');
    // Hello World, the weather is hot.
    
  3. 也许您还在寻找标准localization