| Mojolicious documentation | Contained in the Mojolicious distribution. |
Mojolicious::Commands - Commands
use Mojolicious::Commands; # Command line interface my $commands = Mojolicious::Commands->new; $commands->run(@ARGV);
Mojolicious::Commands is the interactive command line interface to the Mojolicious framework. It will automatically detect available commands in the Mojolicious::Command namespace.
These commands are available by default.
help% mojo % mojo help
List available commands with short descriptions.
% mojo help <command>
List available options for the command with short descriptions.
cgi% mojo cgi % script/myapp cgi
Start application with CGI backend.
daemon% mojo daemon % script/myapp daemon
Start application with standalone HTTP 1.1 server backend.
eval% mojo eval 'print app->home' % script/myapp eval 'print app->home'
Run code against application.
fastcgi% mojo fastcgi % script/myapp fastcgi
Start application with FastCGI backend.
generate% mojo generate % mojo generate help
List available generator commands with short descriptions.
% mojo generate help <generator>
List available options for generator command with short descriptions.
generate app% mojo generate app <AppName>
Generate application directory structure for a fully functional Mojolicious application.
generate gitignore% mojo generate gitignore
Generate .gitignore file.
generate hypnotoad% mojo generate hypnotoad
Generate hypnotoad.conf file.
generate lite_app% mojo generate lite_app
Generate a fully functional Mojolicious::Lite application.
generate makefile% mojo generate makefile
Generate Makefile.PL file for application.
get% mojo get http://mojolicio.us % script/myapp get /foo
Perform GET request to remote host or local application.
inflate% myapp.pl inflate
Turn embedded files from the DATA section into real files.
routes% myapp.pl routes % script/myapp routes
List application routes.
test% mojo test % script/myapp test % script/myapp test t/foo.t
Runs application tests from the t directory.
version% mojo version
List version information for installed core and optional modules, very useful for debugging.
Mojolicious::Commands inherits all attributes from Mojo::Command and implements the following new ones.
hint my $hint = $commands->hint;
$commands = $commands->hint('Foo!');
Short hint shown after listing available commands.
namespacesmy $namespaces = $commands->namespaces; $commands = $commands->namespaces(['Mojolicious::Commands']);
Namespaces to search for available commands, defaults to Mojo::Command and Mojolicious::Command.
Mojolicious::Commands inherits all methods from Mojo::Command.
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
| Mojolicious documentation | Contained in the Mojolicious distribution. |
package Mojolicious::Commands; use Mojo::Base 'Mojo::Command'; use Getopt::Long qw/GetOptions :config pass_through/; # "One day a man has everything, the next day he blows up a $400 billion # space station, and the next day he has nothing. It makes you think." has hint => <<"EOF"; These options are available for all commands: --help Get more information on a specific command. --home <path> Path to your applications home directory, defaults to the value of MOJO_HOME or auto detection. --mode <name> Run mode of your application, defaults to the value of MOJO_MODE or development. See '$0 help COMMAND' for more information on a specific command. EOF has namespaces => sub { [qw/Mojolicious::Command Mojo::Command/] }; # Command line options for MOJO_HELP, MOJO_HOME and MOJO_MODE BEGIN { GetOptions( 'help|h' => sub { $ENV{MOJO_HELP} = 1 }, 'home=s' => sub { $ENV{MOJO_HOME} = $_[1] }, 'mode=s' => sub { $ENV{MOJO_MODE} = $_[1] } ) unless Mojo::Command->detect; } 1; __END__