TABLE OF CONTENTS

文档名

Mojolicious::Commands - 命令行接口

概要

use Mojolicious::Commands;

my $commands = Mojolicious::Commands->new;
push @{$commands->namespaces}, 'MyApp::Command';
$commands->run('daemon');

描述

Mojolicious::CommandsMojolicious 框架的命令行接口. 这个会自动的使用 Mojolicious::Command 名字空间的调用。

命令

这些是默认可以使用的命令.

help

$ mojo
$ mojo help
$ ./myapp.pl help

列出所有的命令使用短的描述。

$ mojo help <command>
$ ./myapp.pl help <command>

列出命令的可用选项的简短说明。

cgi

$ ./myapp.pl cgi

列出可用的 CGI 的后端,通常自动的发现.

cpanify

$ mojo cpanify -u sri -p secr3t Mojolicious-Plugin-Fun-0.1.tar.gz

更新文件到 CPAN.

daemon

$ ./myapp.pl daemon

开始应用使用单进程的 HTTP 服务器做为后端.

eval

$ ./myapp.pl eval 'say app->home'

钟对应用运行指定代码。

generate

$ mojo generate
$ mojo generate help
$ ./myapp.pl generate help

列出 generator 命令的简短描述.

$ mojo generate help <generator>
$ ./myapp.pl generate help <generator>

列出 generator 命令可用的选项.

generate app

$ mojo generate app <AppName>

生成一个全功能的 Mojolicious 应用相关的目录结构。

generate lite_app

$ mojo generate lite_app

创建一个全功能的 Mojolicious::Lite 应用.

generate makefile

$ mojo generate makefile
$ ./myapp.pl generate makefile

为应用创建 Makefile.PL 文件

generate plugin

$ mojo generate plugin <PluginName>

生成 Mojolicious 全功能的插件的目录架构。

get

$ mojo get http://mojolicio.us
$ ./myapp.pl get /foo

对本地 or 远程的主机执行请求

inflate

$ ./myapp.pl inflate

给你应用中的 DATA 部分的内容中的模板和静态文件生成到相应的真实目录。

psgi

$ ./myapp.pl psgi

使用 PSGI 来启动你的应用。通常会自动发现。

routes

$ ./myapp.pl routes

列出应用所有的 routes.

test

$ mojo test
$ ./myapp.pl test
$ ./myapp.pl test t/fun.t

t 目录来运行应用的测试.

version

$ mojo version
$ ./myapp.pl version

显示你安装的核心和模块的版本.这个在 debug 的时候常用.

属性

Mojolicious::CommandsMojolicious::Command 中继承所有的属性,并自己实现了以下新的。

hint

my $hint  = $commands->hint;
$commands = $commands->hint('Foo!');

列出可用的命令后,显示一个短提示。

message

my $msg   = $commands->message;
$commands = $commands->message('Hello World!');

显示简短的用法,然后再列出可用的命令。

namespaces

my $namespaces = $commands->namespaces;
$commands      = $commands->namespaces(['MyApp::Command']);

命名空间的加载命令,默认是使用的 Mojolicious::Command.

# Add another namespace to load commands from
push @{$commands->namespaces}, 'MyApp::Command';

方法

Mojolicious::Commands 是从 Mojolicious::Command 继承了全部的方法,并实现了下列新的.

detect

my $env = $commands->detect;
my $env = $commands->detect($guess);

尝试检测环境。

run

$commands->run;
$commands->run(@ARGV);

加载和运行的命令,可以在这通过 MOJO_NO_DETECT 来禁用自动部署环境。

start

Mojolicious::Commands->start;
Mojolicious::Commands->start(@ARGV);

使用 MOJO_APP 的环境变量或者 Mojo::HelloWorld 来使用命令行接口来启动应用。

# 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);

加载应用和使用命令行接口来启动它。

# 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.