Scroll to navigation

Mojolicious::Commands(3pm) User Contributed Perl Documentation Mojolicious::Commands(3pm)

NAME

Mojolicious::Commands - Command line interface

SYNOPSIS

  use Mojolicious::Commands;
  # Command line interface
  my $commands = Mojolicious::Commands->new;
  $commands->run(@ARGV);

DESCRIPTION

Mojolicious::Commands is the interactive command line interface to the Mojolicious framework. It will automatically detect available commands in the "Mojolicious::Command" namespace.

COMMANDS

These commands are available by default.

"help"

  $ mojo
  $ mojo help
  $ ./myapp.pl help
List available commands with short descriptions.
  $ mojo help <command>
  $ ./myapp.pl help <command>
List available options for the command with short descriptions.

"cgi"

  $ ./myapp.pl cgi
Start application with CGI backend.

"cpanify"

  $ mojo cpanify -u sri -p secr3t Mojolicious-Plugin-Fun-0.1.tar.gz
Upload files to CPAN.

"daemon"

  $ ./myapp.pl daemon
Start application with standalone HTTP 1.1 server backend.

"eval"

  $ ./myapp.pl eval 'say app->home'
Run code against application.

"generate"

  $ mojo generate
  $ mojo generate help
  $ ./myapp.pl generate help
List available generator commands with short descriptions.
  $ mojo generate help <generator>
  $ ./myapp.pl 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 lite_app"

  $ mojo generate lite_app
Generate a fully functional Mojolicious::Lite application.

"generate makefile"

  $ mojo generate makefile
  $ ./myapp.pl generate makefile
Generate "Makefile.PL" file for application.

"generate plugin"

  $ mojo generate plugin <PluginName>
Generate directory structure for a fully functional Mojolicious plugin.

"get"

  $ mojo get http://mojolicio.us
  $ ./myapp.pl get /foo
Perform requests to remote host or local application.

"inflate"

  $ ./myapp.pl inflate
Turn templates and static files embedded in the "DATA" sections of your application into real files.

"psgi"

  $ ./myapp.pl psgi
Start application with PSGI backend.

"routes"

  $ ./myapp.pl routes
List application routes.

"test"

  $ mojo test
  $ ./myapp.pl test
  $ ./myapp.pl test t/fun.t
Runs application tests from the "t" directory.

"version"

  $ mojo version
  $ ./myapp.pl version
Show version information for installed core and optional modules, very useful for debugging.

ATTRIBUTES

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.

"message"

  my $message = $commands->message;
  $commands   = $commands->message('Hello World!');
Short usage message shown before listing available commands.

"namespaces"

  my $namespaces = $commands->namespaces;
  $commands      = $commands->namespaces(['Mojolicious::Commands']);
Namespaces to load commands from, defaults to "Mojolicious::Command" and "Mojo::Command".
  # Add another namespace to load commands from
  push @{$commands->namespaces}, 'MyApp::Command';

METHODS

Mojolicious::Commands inherits all methods from Mojo::Command and implements the following new ones.

"detect"

  my $env = $commands->detect;
  my $env = $commands->detect($guess);
Try to detect environment.

"run"

  $commands->run;
  $commands->run(@ARGV);
Load and run commands. Automatic deployment environment detection can be disabled with the "MOJO_NO_DETECT" environment variable.

"start"

  Mojolicious::Commands->start;
  Mojolicious::Commands->start(@ARGV);
Start the command line interface.
  # Always start daemon and ignore @ARGV
  Mojolicious::Commands->start('daemon', '-l', 'http://*:8080');

"start_app"

  Mojolicious::Commands->start_app('MyApp');
  Mojolicious::Commands->start_app(MyApp => @ARGV);
Load application and start the command line interface for it.
  # Always start daemon for application and ignore @ARGV
  Mojolicious::Commands->start_app('MyApp', 'daemon', '-l', 'http://*:8080');

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
2012-09-05 perl v5.14.2