Example #1
0
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);
    }
}
Example #2
0
 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;
 }