可能有一种不同的简单方法来实现我在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
答案 0 :(得分:0)
"<?php echo $param1 ?>"
是一个坏主意。有更好的方法:
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.
PHP的sprintf
:
$str = 'Hello %s, the %s is %s.';
echo sprintf($str, 'World', 'weather', 'hot');
// Hello World, the weather is hot.
也许您还在寻找标准localization。