我构建了一个函数,如果你给它一个路径数组,它将在每个路径中查找一个文件,如果你给它一个路径数组,它将只在该路径中查找文件。
我的问题是,当你给它一系列路径时,例如:
$array = array(
'template_view_paths' => array(
'path_name' => some/path/
'path_name_two' => some/path/two/
)
)
它似乎找到了文件,但由于文件不存在some/path/
而继续前进并吓坏了。some/path/two/
如果它在停止在其他路径中查找的任何路径中找到文件,我将需要更改什么?
代码 - 未重构
public function render_view($template_name){
if(!isset($this->_options['template_view_path'])){
throw new AisisCore_Template_TemplateException('Not view path was set.');
}
if(is_array($this->_options['template_view_path'])){
foreach($this->_options['template_view_path'] as $template=>$path){
require_once($path . $template_name . '.phtml');
}
}else{
if(!file_exists($this->_options['template_view_path'] . $template_name . '.phtml')){
throw new AisisCore_Template_TemplateException('Could not find: ' . $template_name . '.phtml at ' . $path);
}
require_once ($this->_options['template_view_path'] . $template_name . '.phtml');
}
}
注意: 要关注的部分是if(is_array()){}
循环。