假設我有一個具有插件特性/角色Bar
和Baz
的Foo
類,其中Baz
依賴於Bar
。有沒有辦法在對象創建時強制MooseX :: Traits插件之間的依賴關係?
package Foo;
use Moose;
with 'MooseX::Traits';
sub foo {print "foo\n"}
package Bar;
use Moose::Role;
sub bar {
shift->foo;
print "bar\n";
}
package Baz;
use Moose::Role;
requires 'bar';
sub baz {
shift->bar;
print "baz\n";
}
package main;
my $foo = Foo->new_with_traits(traits => [qw/Bar Baz/]);
$foo->baz;
在這個例子中,我已經用強制的requires 'bar'
依賴。不過,我想要做的是Baz
要求整個角色Bar
強制插件之間的依賴關係。
有沒有簡單的方法可以做到這一點?或者你有其他方法的建議嗎?