GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CLASS::DBI::PLUGIN (3)

.ds Aq ’

NAME

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

CONTENTS

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.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PLUGIN (3) 2004-07-23

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.