Mojo

作者: JSON_NULL | 来源:发表于2017-08-16 15:05 被阅读11次

简介

Mojo是一个强大的WEB开发工具包,它包含写简单Web应用和写高度分层的Web框架(如:Mojolicious)所需的所有基本工具包和接口类。常用的工具包括Mojo::UserAgent,Mojo::DOM,Mojo::JSON,Mojo::Server::Daemon,Mojo::Server::Prefork,Mojo::IOLoop和Mojo::Template。

属性

Mojo包中包含的属性有:home,log、ua。下面分别进行介绍。

home

应用程序的家目录,默认情况下是Mojo::Home对象。
使用的语法如下:

my $home = $app->home;
$app     = $app->home(Mojo::Home->new);

有关Mojo::Home的介绍请移步:Mojo::Home。

log

应用程序的日志等级,默认情况下是一上 Mojo::Log对象。
使用语法如下:

my $log = $app->log;
$app    = $app->log(Mojo::Log->new);

有关Mojo::Log的介绍请移步:Mojo::Log。

ua

一个全功能的HTTP用户代码,默认情况下是Mojo::UserAgent的对象。
使用语法如下:

my $ua = $app->ua;
$app   = $app->ua(Mojo::UserAgent->new);

有关Mojo::UserAgent的介绍请稳步:Mojo::UserAgent。

方法

Mojo模块从Mojo::Base模块继承得到了所有方法,并实现了以下方法:build_tx,conifg,handler;下面分别介绍。

build_tx

事务的创建者,默认情况下创建一个 Mojo::Transaction::HTTP对象。
使用语法如下:

my $tx = $app->build_tx;

想要了解更多关于 Mojo::Transaction::HTTP模块的信息,请移步:Mojo::Transaction::HTTP。

config

负责应用程序的配置,语法如下:

my $hash = $app->config;
my $foo  = $app->config('foo');
$app     = $app->config({foo => 'bar', baz => 23});
$app     = $app->config(foo => 'bar', baz => 23);

# Remove value
my $foo = delete $app->config->{foo};

# Assign multiple values at once
$app->config(foo => 'test', bar => 23);
  1. 当传一个字符串作为参数时,这个参数的值被作为$key,然后从$app对象下的config属性中取键名为$key的$value并返回。得到的其实就是$app->{config}->{$key}的值。
  2. 当传一个hash引用作为参数或传一个列表作为参数时,会把hash引用(或把参数列表转换为hash引用后)合并到$app->{config}中,如果$app->{config}中已经有对应的键了,则会用新的值覆盖它。从而完成设置config的目的。

handler

应用程序的主要入口点,在这里会创建每一个新的事务。这通常会是一个Mojo::Transaction::HTTP或Mojo::Tracsaction::HTTP::WebSocket对象,这个方法需要在子类中重载。

相关文章

  • Mojo::Home

    Mojo::Home为 Mojo程序提供“家目录”服务,它是一个Mojo程序“家目录”的容器。Mojo::Home...

  • mojo是什么?

    What is a Mojo? A mojo is a Maven plain Old Java Object. ...

  • Mojo::Base (不仅仅是对文档的翻译)

    Mojo::Base - Minimal base class for Mojo projects status...

  • Mojo::Reactor

    Mojo::Reactor 是低层事件驱动器的基类。通过子类Mojo::Reactor::EV和Mojo::Rea...

  • Mojo::EventEmitter

    简介 Mojo::EventEmitter - Event emitter base class Mojo::Ev...

  • Mojo::Log

    Mojo::Log模块是Mojo项目的简单日志记录器。并且它是Mojo::EventEmitter的一个子类。 语...

  • Mojo::UserAgent::CookieJar

    简介 Mojo::UserAgent::CookieJar是基于RFC 6265的供Mojo :: UserAge...

  • Mojo::UserAgent::Transactor

    简介 Mojo::UserAgent::Transactor 是Mojo::UserAgent中使用的事务构建和操...

  • Mojo::Asset::File

    简介 Mojo::Asset::File 是HTTP内容的文件存储。 事件 Mojo::Asset::File继承...

  • Mojo::Asset::Memory

    简介 Mojo::Asset::Memory - 用于HTTP内容的内存存储 事件 Mojo::Asset::Me...

网友评论

    本文标题:Mojo

    本文链接:https://www.haomeiwen.com/subject/mbeirxtx.html