42 lines
986 B
PHP
42 lines
986 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Core\Commands;
|
||
|
|
|
||
|
|
class MakeControllerCommand
|
||
|
|
{
|
||
|
|
public function execute(string $name, string $module): void
|
||
|
|
{
|
||
|
|
if (!$name || !$module) {
|
||
|
|
echo "Error: Controller name and module are required\n";
|
||
|
|
echo "Usage: php artisan make:controller <ControllerName> <ModuleName>\n";
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
$modulePath = __DIR__ . "/../../Modules/{$module}";
|
||
|
|
|
||
|
|
if (!is_dir($modulePath)) {
|
||
|
|
echo "Error: Module '{$module}' does not exist\n";
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
$content = "<?php
|
||
|
|
|
||
|
|
namespace App\\Modules\\{$module};
|
||
|
|
|
||
|
|
use App\\Core\\Controller;
|
||
|
|
|
||
|
|
class {$name} extends Controller
|
||
|
|
{
|
||
|
|
public function index()
|
||
|
|
{
|
||
|
|
return \$this->view('{$module}.view.index', [
|
||
|
|
'title' => '{$module} - NovaCore Framework'
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}";
|
||
|
|
|
||
|
|
file_put_contents("{$modulePath}/{$name}.php", $content);
|
||
|
|
echo "Controller '{$name}' created in module '{$module}'!\n";
|
||
|
|
}
|
||
|
|
}
|