我有以下php函数,它根据路径数组呈现模板数组。换句话说,如果您提供一组数组,例如:
$array_template = array(
'carousel' => 'carousel', //type=>name (with out extension).
'mini' => 'mini_feed'
)
$array_paths = array(
'path_one' => 'path/to/one/',
'path_two' => 'path/to/two/'
)
到这个功能:
protected function _render_templates_array($templates, array $template_name){
foreach($template_name as $type=>$name){
foreach($templates as $template=>$path){
if(file_exists($path . $name . '.phtml')){
require_once($path . $name . '.phtml');
}
}
}
return;
}
它应该找到并呈现每个文件,检查该文件的每个路径。
我遇到的问题是,我找到了一旦找到所有文件后如何停止搜索,但是,我是否将if附加到if并抛出我的错误?还是有其他地方我应该抛出我的错误?
基本上我需要:
思想?
答案 0 :(得分:1)
在两个foreach
行之间添加$found = false;
。在if
内,在两个“结束foreach”$found = true;
之间添加}
,根据需要添加if(!$found) throw.....;
。
protected function _render_templates_array($templates, array $template_name){
foreach($template_name as $type=>$name){
$found = false;
foreach($templates as $template=>$path){
if(file_exists($path . $name . '.phtml')){
require_once($path . $name . '.phtml');
$found = true;
}
}
if( !$found) throw new .......;
}
return;
}