diff --git a/laravel/cli/dependencies.php b/laravel/cli/dependencies.php index f0c59e81..2e7f23b6 100644 --- a/laravel/cli/dependencies.php +++ b/laravel/cli/dependencies.php @@ -125,4 +125,16 @@ { return new Tasks\Bundle\Providers\Github; }); +} + +/** + * The "help" task provides information about + * artisan usage. + */ +if(! IoC::registered('task: help')) +{ + IoC::singleton('task: help', function() + { + return new Tasks\Help; + }); } \ No newline at end of file diff --git a/laravel/cli/tasks/help.json b/laravel/cli/tasks/help.json new file mode 100644 index 00000000..3f614ad1 --- /dev/null +++ b/laravel/cli/tasks/help.json @@ -0,0 +1,78 @@ +{ + "Application Configuration": { + "key:generate": { + "description": "Generate a secure application key.", + "command": "php artisan key:generate" + } + }, + "Database Tables": { + "session:table": { + "description": "Generate a migration for the sessions database table.", + "command": "php artisan session:table" + } + }, + "Migrations": { + "migrate:install": { + "description": "Create the Laravel migration table.", + "command": "php artisan migrate:install" + }, + "migrate:make": { + "description": "Create a migration.", + "command": "php artisan migrate:make create_users_table" + }, + "migrate": { + "description": "Run outstanding migrations.", + "command": "php artisan migrate" + }, + "migrate:rollback": { + "description": "Roll back the most recent migration.", + "command": "php artisan migrate:rollback" + }, + "migrate:reset": { + "description": "Roll back all migrations.", + "command": "php artisan migrate:reset" + } + }, + "Bundles": { + "bundle:install": { + "description": "Install a bundle.", + "command": "php artisan bundle:install swiftmailer" + }, + "bundle:upgrade": { + "description": "Upgrade a bundle.", + "command": "php artisan bundle:upgrade swiftmailer" + }, + "bundle:publish": { + "description": "Publish all bundles' assets.", + "command": "php artisan bundle:publish" + } + }, + "Unit Testing": { + "test": { + "description": "Run the application's tests.", + "command": "php artisan test" + } + }, + "Routing": { + "route:call": { + "description": "Call a route.", + "command": "php artisan route:call get api/user/1" + } + }, + "Application Keys": { + "key:generate": { + "description": "Generate an application key.", + "command": "php artisan key:generade" + } + }, + "CLI Options": { + "--env=": { + "description": "Set the Laravel environment.", + "command": "php artisan task --env=local" + }, + "--database=": { + "description": "Set the default database connection.", + "command": "php artisan task --database=mysql" + } + } +} \ No newline at end of file diff --git a/laravel/cli/tasks/help.php b/laravel/cli/tasks/help.php new file mode 100644 index 00000000..8cfcd768 --- /dev/null +++ b/laravel/cli/tasks/help.php @@ -0,0 +1,35 @@ + $commands) + { + if($i++ != 0) echo PHP_EOL; + + echo PHP_EOL . "# $category" . PHP_EOL; + + foreach($commands as $command => $details) + { + echo PHP_EOL . str_pad($command, 20) . str_pad($details->description, 30); + } + } + } +} \ No newline at end of file