Skip to content

Instantly share code, notes, and snippets.

@miftahafina
Last active March 31, 2024 15:49
Show Gist options
  • Save miftahafina/292deed1265f2e404e5cd2229ef3ed78 to your computer and use it in GitHub Desktop.
Save miftahafina/292deed1265f2e404e5cd2229ef3ed78 to your computer and use it in GitHub Desktop.
Remove laravel controller with artisan command
<?php
/**
* Copy and paste the code below into your routes/console.php file.
* You can add more command such as 'remove:model', 'remove:middleware', etc if you want,
* just modify the $file_location variable.
*/
Artisan::command('remove:controller {name : Name of the controller}', function ($name) {
// File location
$file_location = base_path() . '/app/Http/Controllers/' . $name . '.php';
// Check if exist
if (file_exists($file_location)) {
exec('rm ' . $file_location);
$this->info($name.' has been deleted!');
} else {
$this->error('Cannot delete ' . $name . ', file not found.');
}
})->describe('Remove spesific controller');
@zalaudekr
Copy link

@Luckiees you have to change the command('remove:controller and path /app/Http/Controllers/ if you want to remove something else than a controller. It's a good example how to create a command for the console but dangerous because as written before it removes your code from the disk and don't reflect on routes and other usage of your controller.

@eraser16
Copy link

eraser16 commented Jan 8, 2023

@zalaudekr Thank you so much😄

@milkiainunistaufan
Copy link

Good

@TatiSamuel
Copy link

@miftahafina
miftahafina Thank you.

@ahjohaa33
Copy link

@miftahafina could it be possible this way to remove the entire controller folder?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment