Artisan is a utility that can help you do specific repetitive tasks with bash commands. It covers many tasks, including: working with database migrations and seeding, clearing cache, creating necessary files for Authentication setup, making new controllers, models, event classes, and a lot more.
Artisan is the name of the command-line interface included with Laravel. It provides a number of helpful commands for your use while developing your application.
To view a list of all available Artisan commands, you may use the list command:
php artisan list
To know more about the any available command, just precede its name with help keyword:
php artisan help [command-name]
php artisan route:list --method=GET --method=POST
This will include all routes that accept GET
and POST
methods simultaneously.
You can also use Laravel Artisan commands from your routes or controllers.
To run a command using PHP code:
Artisan::call('command-name');
For example,
Artisan::call('db:seed');
You can create new commands via
php artisan make:command [commandName]
So this will create [commandName] command class inside app/Console/Commands
directory.
inside this class you will find protected $signature
and protected $description
variables, it represents name and discription of your command
which will be used to describe your command.
after creating command you can register your command inside app/Console/Kernel.php
class where you will find commands
property.
so you can add your command inside the $command array like :
protected $commands = [
Commands\[commandName]::class
];
and then i can use my command via console.
so as example i have named my command like
protected $signature = 'test:command';
So whenever i will run
php artisan test:command
it will call the handle
method inside the class having signature test:command
.
Command | Description |
---|---|
clear-compiled | Remove the compiled class file |
down | Put the application into maintenance mode |
env | Display the current framework environment |
help | Displays help for a command |
list | Lists commands |
migrate | Run the database migrations |
optimize | Optimize the framework for better performance |
serve | Serve the application on the PHP development server |
tinker | Interact with your application |
up | Bring the application out of maintenance mode |
app:name | Set the application namespace |
auth:clear-resets | Flush expired password reset tokens |
cache:clear | Flush the application cache |
cache:table | Create a migration for the cache database table |
config:cache | Create a cache file for faster configuration loading |
config:clear | Remove the configuration cache file |
db:seed | Seed the database with records |
event:generate | Generate the missing events and listeners based on registration |
key:generate | Set the application key |
make:auth | Scaffold basic login and registration views and routes |
make:console | Create a new Artisan command |
make:controller | Create a new controller class |
make:event | Create a new event class |
make:job | Create a new job class |
make:listener | Create a new event listener class |
make:middleware | Create a new middleware class |
make:migration | Create a new migration file |
make:model | Create a new Eloquent model class |
make:policy | Create a new policy class |
make:provider | Create a new service provider class |
make:request | Create a new form request class |
make:seeder | Create a new seeder class |
make:test | Create a new test class |
migrate:install | Create the migration repository |
migrate:refresh | Reset and re-run all migrations |
migrate:reset | Rollback all database migrations |
migrate:rollback | Rollback the last database migration |
migrate:status | Show the status of each migration |
queue:failed | List all of the failed queue jobs |
queue:failed-table | Create a migration for the failed queue jobs database table |
queue:flush | Flush all of the failed queue jobs |
queue:forget | Delete a failed queue job |
queue:listen | Listen to a given queue |
queue:restart | Restart queue worker daemons after their current job |
queue:retry | Retry a failed queue job |
queue:table | Create a migration for the queue jobs database table |
queue:work | Process the next job on a queue |
route:cache | Create a route cache file for faster route registration |
route:clear | Remove the route cache file |
route:list | List all registered routes |
schedule:run | Run the scheduled commands |
session:table | Create a migration for the session database table |
vendor:publish | Publish any publishable assets from vendor packages |
view:clear | Clear all compiled view files |