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"; }