function generate_graminfo_files($outDir) { $tpl = new Tpl(dirname(__FILE__) . '/tpl'); $storage_ary = array('File', 'Mem', 'Shm'); $tpl = new Tpl(dirname(__FILE__) . '/tpl'); $helper_class = "Helper"; foreach ($storage_ary as $storage_name) { $storage_class = "StorageHelper_" . ucfirst($storage_name); $helper = new $helper_class($tpl, new $storage_class()); $result = $tpl->get('graminfo', array('helper' => $helper)); $file_name = "{$outDir}/graminfo_" . strtolower($storage_name) . '.php'; file_put_contents($file_name, $result); unset($helper); } }
public function exec() { if (!empty($this->_controller_name) && !empty($this->_controller_action)) { //Call given controller and its action $controller = new $this->_controller_name($this); $controller->__init(); $reflectionClass = new \ReflectionClass($this->_controller_name); $reflectionMethod = $reflectionClass->getMethod($this->_controller_action); $parameters = []; //Check parameters foreach ($reflectionMethod->getParameters() as $param) { if (isset($this->_post_params[$param->name])) { $parameters[] = $this->_post_params[$param->name]; } else { if (isset($this->_get_params[$param->name])) { $parameters[] = $this->_get_params[$param->name]; } else { if (isset($this->_put_params[$param->name])) { $parameters[] = $this->_put_params[$param->name]; } else { if ($param->isOptional()) { $parameters[] = $param->getDefaultValue(); } else { $parameters[] = null; } } } } } $returnValue = $controller->__before(); if ($returnValue !== false) { $returnValue = $reflectionMethod->invokeArgs($controller, $parameters); if ($returnValue !== false) { $controller->__after(); } } if (!$this->_response->isRaw()) { $this->_response->prepend(Tpl::get($controller->getHeaderViewPath() . '/header')); $this->_response->append(Tpl::get($controller->getFooterViewPath() . '/footer')); } } return $this; }