2010-08-30 3 views
1

Возможно, существует простой способ достичь того, что я пытаюсь сделать в 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

ответ

0

"<?php echo $param1 ?>" с целью замены строки в строке это плохая идея. Есть более эффективные способы сделать это: собственный String::insert функцию

  1. торта:

    $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. РНР sprintf:

    $str = 'Hello %s, the %s is %s.'; 
    echo sprintf($str, 'World', 'weather', 'hot'); 
    // Hello World, the weather is hot. 
    

Может быть, вы также просто ищете стандарт localization.

+0

deceze, спасибо. надеялся получить некоторые автоматы с помощью cakephp, но ваши решения вполне приемлемы. Я бы придерживался первого решения. будет отчитываться, если возникнут какие-либо проблемы – aboxy

Смежные вопросы