我有一个嵌套数组,它是通过CakePHP请求中的模型编译的。数组可以嵌套在可变深度,内容将返回给用户。
目前,使用请求的View元素中的函数完成此数组的循环和呈现过程。首先在基本数组的深度调用此函数,并对具有其他数组子元素的任何数组元素重复此函数。例如
function print_depth($elements) {
foreach($elements as $element) {
echo $element['title'];
if($element['children']) {
print_depth($element['children']);
}
}
}
print_depth($elements);
通过这个过程,我可以打印出阵列的所有级别,同时仍然保持视图中的标记灵活性(因此,它是可换肤的),但我想这是处理它的函数的错误位置。 / p>
此操作是否有更多MVC有效的流程?
答案 0 :(得分:2)
从MVC的角度来看,它可能属于它所属的位置,因为视图的责任是为视觉表示准备数据。但是,对于更干的方法,您可以在帮助程序中实现此功能。
答案 1 :(得分:1)
创建一个帮助程序,而不是在视图代码中放置一个函数。
你做的事情听起来像渲染一棵树,那里已经有一个树帮手。
https://github.com/CakeDC/utils/blob/master/View/Helper/TreeHelper.php