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

FreeBSD Manual Pages

  
 
  

home | help
Plugin(3)	      User Contributed Perl Documentation	     Plugin(3)

NAME
       Class::DBI::Plugin - Abstract base class	for Class::DBI plugins

SYNOPSIS
	 use base 'Class::DBI::Plugin';

	 sub init {
	   my $class = shift;
	   $class->set_sql( statement_name => ... );
	   $class->add_trigger(	... );
	   $class->columns( TEMP => ...	);
	 }

	 sub method_name : Plugged {
	   my $class = shift;
	   $class->sql_statement_name( ... );
	 }

	 sub this_method_is_not_exported {}

DESCRIPTION
       Class::DBI::Plugin is an	abstract base class for	Class::DBI plugins.
       Its purpose is to make writing plugins easier. Writers of plugins
       should be able to concentrate on	the functionality their	module
       provides, instead of having to deal with	the symbol table hackery
       involved	when writing a plugin module.  Only three things must be
       remembered:

       1.  All methods which are to exported are given the "Plugged"
	   attribute. All other	methods	are not	exported to the	plugged-in
	   class.

       2.  Method calls	which are to be	sent to	the plugged-in class are put
	   in the init() method. Examples of these are set_sql(),
	   add_trigger() and so	on.

       3.  The class parameter for the init() method and the "Plugged" methods
	   is the plugged-in class, not	the plugin class.

CAVEATS
       So far this module only "sees" methods in the plugin module itself. If
       there is	a class	between	the base class and the plugin class in the
       inheritance hierarchy, methods of this class will not be	found. In
       other words, inherited methods will not be found. If requested, I will
       implement this behaviour.

TODO
       It may be useful	for plugin users to be able to choose only the plugin
       methods they are	interested in, if there	are more than one. This	is not
       implemented yet.

SEE ALSO
       o   Class::DBI

AUTHOR
       Jean-Christophe Zeus, <mail@jczeus.com> with some help from Simon
       Cozens. Many thanks to Mark Addison for the idea	with the init()
       method, and many	thanks to Steven Quinney for the idea with the
       subroutine attributes.

COPYRIGHT AND LICENSE
       Copyright (C) 2004 by Jean-Christophe Zeus

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

perl v5.32.1			  2004-07-23			     Plugin(3)

NAME | SYNOPSIS | DESCRIPTION | CAVEATS | TODO | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

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

home | help