/** * * @dataProvider providerTestAddBlock * @param unknown_type $name * @param unknown_type $viewBlock */ public function testAddBlock($name, $viewBlock) { $obj = new Miao_Office_TemplatesEngine_PhpNative('/qqqq', false); $obj->addBlock($name, $viewBlock); $actual = $obj->getBlock($name); $expected = $viewBlock; $this->assertEquals($expected, $actual); }
/** * Добавить описание создаваемого блока * * @param string $name * Имя блока, при помощи него вызывается нужный блок * @param * string or array $class_name Имя класса блока. Если массив, то * первый элемент - это имя класса, второй обязательно массив с * параметрами, которые будут использованы как аргументы функции * process() блока * @param array $templates * Шаблоны блока */ protected function _addBlock($name, $className, $templates = array('index.tpl')) { $block_class_process_params = array(); if (empty($className)) { $block_class_name = 'Miao_Office_ViewBlock_SharedBlocks'; } else { if (is_string($className)) { $block_class_name = $className; } else { if (is_array($className)) { $block_class_name = $className[0]; $block_class_process_params = $className[1]; if (!is_array($block_class_process_params)) { $block_class_process_params = array($block_class_process_params); } } } } $viewBlock = new $block_class_name($name, $templates, $block_class_process_params); $viewBlock->setTemplates($templates); $viewBlock->setProcessParams($block_class_process_params); $this->_templatesObj->addBlock($name, $viewBlock); }
/** * Добавить описание создаваемого блока * * @param string $name * Имя блока, при помощи него вызывается нужный блок * @param * string or array $class_name Имя класса блока. Если массив, то * первый элемент - это имя класса, второй обязательно массив с * параметрами, которые будут использованы как аргументы функции * process() блока * @param array $templates * Шаблоны блока */ protected function _initBlock($name, $className = '', $templates = array('index.tpl')) { $block_class_process_params = array(); if (empty($className)) { $className = $name; } if (is_string($className)) { $block_class_name = $className; if (!Miao_Autoload::getFilenameByClassName($block_class_name)) { $block_class_name = $this->_defaultViewBlockPrefix . '_ViewBlock_' . $className; } } else { if (is_array($className)) { $block_class_name = $className[0]; $block_class_process_params = isset($className[1]) ? $className[1] : null; if (!is_array($block_class_process_params)) { $block_class_process_params = array($block_class_process_params); } } } $viewBlock = new $block_class_name($name, $templates, $block_class_process_params); $viewBlock->setOffice($this->getOffice()); $this->_templatesObj->addBlock($name, $viewBlock); }