Mercurial > packages > magicforger
diff src/Generator/ControllerGenerator.php @ 1:ca36acd2bef2
Have a base going, there is definitly a lot wrong with some of the files and the general structure but overall, it's a starting point
| author | luka |
|---|---|
| date | Sat, 24 Jun 2023 01:08:01 -0400 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Generator/ControllerGenerator.php Sat Jun 24 01:08:01 2023 -0400 @@ -0,0 +1,84 @@ +<?php +namespace Magicforger\Generator; + +use Illuminate\Console\GeneratorCommand; +use Symfony\Component\Console\Input\InputOption; + +class ControllerGenerator extends GeneratorCommand +{ + /** + * The console command name. + * + * @var string + */ + protected $name = 'make:table'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Create a new controller and views for a table.'; + + /** + * The type of class being generated. + * + * @var string + */ + protected $type = 'Table Controller and Views'; + + /** + * Get the stub file for the generator. + * + * @return string + */ + protected function getStub() + { + // Use your own controller and views stubs here + return __DIR__ . '/stubs/table.stub'; + } + + /** + * Execute the console command. + * + * @return void + */ + public function handle() + { + parent::handle(); + + $tableName = $this->option('table'); + + // Create views directory + /* $directory = resource_path('views/' . strtolower($tableName)); */ + /* mkdir($directory, 0755, true); */ + + /* // Create index view */ + /* $indexViewPath = $directory . '/index.blade.php'; */ + /* file_put_contents($indexViewPath, ''); */ + + /* // Create create view */ + /* $createViewPath = $directory . '/create.blade.php'; */ + /* file_put_contents($createViewPath, ''); */ + + /* // Create edit view */ + /* $editViewPath = $directory . '/edit.blade.php'; */ + /* file_put_contents($editViewPath, ''); */ + + // Success message + $this->info('Table '. $tableName . ' controller and views created successfully.'); + } + + /** + * Get the console command options. + * + * @return array + */ + protected function getOptions() + { + return [ + ['table', null, InputOption::VALUE_REQUIRED, 'The name of the table.'] + ]; + } +} +
