“使用Mojo :: Base'Mojolicious :: Plugin'”引用语句的含义是什么?

问题描述 投票:0回答:2

有人可以带我到一个信息丰富的页面,在那里我可以阅读这个语法如何工作以及它实际上做了什么?在实例中,... use Mojo::Base 'Mojolicious::Plugin';use Mojo::Base;之间的区别是什么?

我真的不明白引用的'Foo::Bar'部分,在上面的例子中,'Mojolicious::Plugin'部分。

先感谢您。

perl
2个回答
1
投票

请参阅Mojo::Base文档。我自己没有使用过这个包,但似乎use Mojo::Base 'Mojolicious::Plugin'是以下代码的快捷方式:

use strict;
use warnings;
use utf8;
use feature ':5.10';
use mro;
use IO::Handle ();
require Mojolicious::Plugin;
push @ISA, 'Mojolicious::Plugin';
sub has { Mojo::Base::attr(__PACKAGE__, @_) }

2
投票

use Module::Name 'foo', 'bar'将(作为编译时声明)加载Module::Name模块,然后调用其import方法传递列表'foo', 'bar'。请参阅useimport的文档。模块可以定义其导入方法以执行它想要的任何操作,但Exporter是获取按名称导出函数的导入方法的常用方法。

特别是对于Mojo :: Base,它在传递类名时的import方法会将当前包设置为传递的类名的子类。默认情况下,它还会执行许多其他设置。

© www.soinside.com 2019 - 2024. All rights reserved.