$namespaceParts = explode(".", $namespace); foreach ($namespaceParts as $part) { $pathToController .= strtolower($part) . "/"; $namespaceOfController .= "\\" . $part; } $file = "./app/controllers/{$pathToController}{$controllerName}.php"; $namespace = $namespaceOfController === "\\" ? "" : $namespaceOfController; $template = file_get_contents("./system/file-templates/controller"); $controller = strtr($template, ["{{controller}}" => $controllerName, "{{namespace}}" => $namespace]); if (file_exists($file)) { return "Controller ({$controllerName}) already exists. Operation aborted"; } if (App::forcePut($file, $controller, true)) { return "Controller ({$controllerName}) was created successfully."; } return Cli::color("Controller ({$controllerName}) failed to be created", "green|white"); }); } else { return "Cannot create a controller without a name"; } }); }, file_get_contents(dirname(__FILE__) . "/console/descriptions/controller.html")); Cli::command("model", function () { Cli::pose("Name: ", function ($modelName) { if ($modelName !== "") { Cli::pose("Namespace (dot delimited): ", function ($namespace) use($modelName) { $pathToModel = ""; $namespaceOfModel = ""; $namespaceParts = explode(".", $namespace); foreach ($namespaceParts as $part) { $pathToModel .= strtolower($part) . "/";