Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Class::Field(3)	      User Contributed Perl Documentation      Class::Field(3)

NAME
       Class::Field - Class Field Accessor Generator

SYNOPSIS
	   package Thing;
	   use Class::Field qw'field const';

	   field 'this';
	   field 'list'	=> [];
	   field 'map' => {};
	   field 'that', -init => '$self->setup_that';
	   field 'circular_ref'	=> -weaken;
	   const 'answer' => 42;

DESCRIPTION
       Class::Field exports two	subroutines, "field" and "const". These
       functions are used to declare fields and	constants in your class.

       Class::Field generates custom code for each accessor that is optimized
       for speed.

FUNCTIONS
       "field"
	   Defines accessor methods for	a field	of your	class:

	       package Example;
	       use base	'Parent';
	       use Class::Field	qw'field const';

	       field 'foo';
	       field bar => [];

	       sub lalala {
		   my $self = shift;
		   $self->foo(42);
		   push	@{$self->{bar}}, $self->foo;
	       }

	   The first parameter passed to "field" is the	name of	the attribute
	   being defined. Accessors can	be given an optional default value.
	   This	value will be returned if no value for the field has been set
	   in the object.

       "const"
	       const bar => 42;

	   The "const" function	is similar to <field> except that it is
	   immutable.  It also does not	store data in the object. You probably
	   always want to give a "const" a default value, otherwise the
	   generated method will be somewhat useless.

NOTE
       This code was taken directly out	the Spiffy module for those people who
       just want this functionality without using the rest of Spiffy.

AUTHOR
       ingy dA<paragraph>t Net <ingy@cpan.org>

COPYRIGHT
       Copyright 2006-2014. Ingy dA<paragraph>t	Net.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See <http://www.perl.com/perl/misc/Artistic.html>

perl v5.24.1			  2014-08-21		       Class::Field(3)

NAME | SYNOPSIS | DESCRIPTION | FUNCTIONS | NOTE | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Class::Field&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help