Object::props - Pragma to implement lvalue accessors with options |
Object::props - Pragma to implement lvalue accessors with options
Included in OOTools 2.21 distribution.
The latest versions changes are reported in the Changes file in this distribution.
The distribution includes:
Perl version >= 5.6.1
perl -MCPAN -e 'install OOTools'
perl Makefile.PL make make test make install
This pragma is very similar to the Class::props
pragma: the main difference is the underlying variable that holds the value, which is a global scalar in the caller package instead in the class. For example:
package BaseClass; use Package::props 'a_package_prop'; use Class::props 'a_class_prop'; package SubClass; our @ISA = 'BaseClass'; # underlaying scalar for accessor 'a_package_prop' is # $BaseClass::a_package_prop # underlaying scalar for accessor 'a_class_prop' is # $SubClass::a_class_prop;
This might seem a subtle difference, but the possible usage in inherited classes makes a big difference.
You can also call a package property accessor by statically using the implementing package name (e.g. BaseClass-
a_prop>), regardless the subclass that uses it.
See the documentation of the accessor properties in the Class::props manpage for all the details.
If you need support or if you want just to send me some feedback or request, please use this link: http://perl.4pro.net/?Object::props.
© 2004-2005 by Domizio Demichelis.
All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as perl itself.
Thanks to Juerd Waalboer (http://search.cpan.org/author/JUERD) that with its Attribute::Property inspired the creation of this distribution.
Object::props - Pragma to implement lvalue accessors with options |