我试图传递这样的设置:
$mySettings = array(
'settingOne' => 'someValue',
'settingTwo' => 5,
'settingThree' => true
);
从视图到像这样的元素:
echo $this->element('foobar', $mySettings);
如何在元素内设置它们的默认值?
或者将它们设置在其他地方更好吗?如果是这样,在哪里以及如何?
谢谢。
答案 0 :(得分:1)
如果设置条目是动态的,您可以尝试:
function element($entry, $settings, $default = null) {
if (isset($settings[$entry])) {
return $settings[$entry];
} else {
return $default;
}
}
如果设置条目是静态的,您最好定义一个类,每个条目都作为属性。
答案 1 :(得分:1)
在appsController
中编写默认代码,如下所示
$mySettings = array(
'settingOne' => 'someValue',
'settingTwo' => 5,
'settingThree' => true
);
$this->set('foobar', $mySettings);
如果你想修改$mySettings
,那么你必须在Controller中编写你想要改变的相同代码。
您必须在
等元素中使用foobar
变量
$foobar['settingOne'];
$foobar['settingTwo'];
$foobar['settingThree'];
答案 2 :(得分:0)
您传入的密钥会转换为变量
所以就这样做
if (!isset($theConfigKey)) {
$theConfigKey = ...
}