示例#1
0
function render_result($data)
{
    if ($data !== null) {
        if (is_array($data)) {
            if (isset($data[Block::MARKER_KEY])) {
                $block_name = $data[Block::MARKER_KEY];
                $block = BlockFactory::create($block_name, $data);
                return $block->__toString();
            }
            if (isset($data[Layout::MARKER_KEY])) {
                $layout_name = $data[Layout::MARKER_KEY];
                //il layout ha bisogno della vista dell'albero ma forse la posso passare anche così
                $layout = LayoutFactory::create($layout_name, $data);
                return $layout->__toString();
            }
            $collected = "";
            foreach ($data as $k => $v) {
                $collected .= render_result($v);
            }
            return $collected;
        }
        //nel caso in cui non sia un blocco e non sia un layout stampo quello che trovo :)
        return $data;
    }
}