Пример #1
0
 public static function generateBasicController($controller, $action, $code)
 {
     $controllerHash = md5($controller . "/" . $action);
     if (!isset(ControllerGenerator::$generatedControllers[$controllerHash])) {
         ControllerGenerator::$generatedControllers[$controllerHash] = 0;
     }
     ControllerGenerator::$generatedControllers[$controllerHash]++;
     $controllerFile = WEBAPP_ROOT . "/tmp/controllers/Temp{$controllerHash}_" . ControllerGenerator::$generatedControllers[$controllerHash] . ".php";
     $skeleton = file_get_contents(dirname(__FILE__) . "/controller-skeletons/basic-skeleton.phps");
     // Fill in the blanks
     $data = array("{name}" => "Temp{$controllerHash}_" . ControllerGenerator::$generatedControllers[$controllerHash], "{method}" => "func", "{code}" => ViewCompiler::cleanFileAfterCompilation($code));
     $controllerCode = str_replace(array_keys($data), array_values($data), $skeleton);
     file_put_contents($controllerFile, $controllerCode);
     ControllerGenerator::addRoute("/{$controllerHash}_" . ControllerGenerator::$generatedControllers[$controllerHash] . "/func", $controllerFile, "Temp{$controllerHash}_" . ControllerGenerator::$generatedControllers[$controllerHash] . "Controller");
     if (property_exists("AppConfiguration", "APP_PATH")) {
         $path_prefix = AppConfiguration::$APP_PATH;
     } else {
         $path_prefix = "";
     }
     return "{$path_prefix}/{$controllerHash}_" . ControllerGenerator::$generatedControllers[$controllerHash] . "/func";
 }