metaclass - a pragma for installing and using Class::MOP metaclasses |
metaclass - a pragma for installing and using Class::MOP metaclasses
version 2.1605
package MyClass;
# use Class::MOP::Class use metaclass;
# ... or use a custom metaclass use metaclass 'MyMetaClass';
# ... or use a custom metaclass # and custom attribute and method # metaclasses use metaclass 'MyMetaClass' => ( 'attribute_metaclass' => 'MyAttributeMetaClass', 'method_metaclass' => 'MyMethodMetaClass', );
# ... or just specify custom attribute # and method classes, and Class::MOP::Class # is the assumed metaclass use metaclass ( 'attribute_metaclass' => 'MyAttributeMetaClass', 'method_metaclass' => 'MyMethodMetaClass', );
# if we'd rather not install a 'meta' method, we can do this use metaclass meta_name => undef; # or if we'd like it to have a different name, use metaclass meta_name => 'my_meta';
This is a pragma to make it easier to use a specific metaclass
and a set of custom attribute and method metaclasses. It also
installs a meta
method to your class as well, unless undef
is passed to the meta_name
option.
Note that if you are using Moose, you most likely do not want to be using this - look into the Moose::Util::MetaRole manpage instead.
This software is copyright (c) 2006 by Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
metaclass - a pragma for installing and using Class::MOP metaclasses |