Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

class::loader(3pm) [debian man page]

Class::Loader(3pm)					User Contributed Perl Documentation					Class::Loader(3pm)

NAME
Class::Loader - Load modules and create objects on demand. VERSION
$Revision: 2.2 $ $Date: 2001/07/18 20:21:39 $ SYNOPSIS
package Web::Server; use Class::Loader; @ISA = qw(Class::Loader); $self->_load( 'Content_Handler', { Module => "Filter::URL", Constructor => "new", Args => [ ], } ); DESCRIPTION
Certain applications like to defer the decision to use a particular module till runtime. This is possible in perl, and is a useful trick in situations where the type of data is not known at compile time and the application doesn't wish to pre-compile modules to handle all types of data it can work with. Loading modules at runtime can also provide flexible interfaces for perl modules. Modules can let the programmer decide what modules will be used by it instead of hard-coding their names. Class::Loader is an inheritable class that provides a method, _load(), to load a module from disk and construct an object by calling its constructor. It also provides a way to map modules names and associated metadata with symbolic names that can be used in place of module names at _load(). METHODS
new() A basic constructor. You can use this to create an object of Class::Loader, in case you don't want to inherit Class::Loader. _load() _load() loads a module and calls its constructor. It returns the newly constructed object on success or a non-true value on failure. The first argument can be the name of the key in which the returned object is stored. This argument is optional. The second (or the first) argument is a hash which can take the following keys: Module This is name of the class to load. (It is not the module's filename.) Name Symbolic name of the module defined with _storemap(). Either one of Module or Name keys must be present in a call to _load(). Constructor Name of the Module constructor. Defaults to "new". Args A reference to the list of arguments for the constructor. _load() calls the constructor with this list. If no Args are present, _load() will call the constructor without any arguments. CPAN If the Module is not installed on the local system, _load() can fetch & install it from CPAN provided the CPAN key is present. This functionality assumes availability of a pre-configured CPAN shell. _storemap() Class::Loader maintains a class table that maps symbolic names to parameters accepted by _load(). It takes a hash as argument whose keys are symbolic names and value are hash references that contain a set of _load() arguments. Here's an example: $self->_storemap ( "URL" => { Module => "Filter::URL", Constructor => "foo", Args => [qw(bar baz)], } ); # time passes... $self->{handler} = $self->_load ( Name => 'URL' ); _retrmap() _retrmap() returns the entire map stored with Class::Loader. Class::Loader maintains separate maps for different classes, and _retrmap() returns the map valid in the caller class. SEE ALSO
AnyLoader(3) AUTHOR
Vipul Ved Prakash, <mail@vipul.net> LICENSE
Copyright (c) 2001, Vipul Ved Prakash. All rights reserved. This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2005-04-27 Class::Loader(3pm)

Check Out this Related Man Page

DBICDUMP(1p)						User Contributed Perl Documentation					      DBICDUMP(1p)

NAME
dbicdump - Dump a schema using DBIx::Class::Schema::Loader SYNOPSIS
dbicdump <configuration_file> dbicdump [-I <lib-path>] [-o <loader_option>=<value> ] <schema_class> <connect_info> Examples: $ dbicdump schema.conf $ dbicdump -o dump_directory=./lib -o components='["InflateColumn::DateTime"]' MyApp::Schema dbi:SQLite:./foo.db $ dbicdump -o dump_directory=./lib -o components='["InflateColumn::DateTime"]' MyApp::Schema dbi:SQLite:./foo.db '{ quote_char => """ }' $ dbicdump -Ilib -o dump_directory=./lib -o components='["InflateColumn::DateTime"]' -o preserve_case=1 MyApp::Schema dbi:mysql:database=foo user pass '{ quote_char => "`" }' $ dbicdump -o dump_directory=./lib -o components='["InflateColumn::DateTime"]' MyApp::Schema 'dbi:mysql:database=foo;host=domain.tld;port=3306' user pass On Windows that would be: $ dbicdump -o dump_directory=.lib ^ -o components="[q{InflateColumn::DateTime}]" ^ -o preserve_case=1 ^ MyApp::Schema dbi:mysql:database=foo user pass "{ quote_char => q{`} }" Configuration files must have schema_class and connect_info sections, an example of a general config file is as follows: schema_class MyApp::Schema lib /extra/perl/libs # connection string <connect_info> dsn dbi:mysql:example user root pass secret </connect_info> # dbic loader options <loader_options> components InflateColumn::DateTime components TimeStamp </loader_options> Using a config file requires Config::Any installed. The optional "lib" key is equivalent to the "-I" option. DESCRIPTION
Dbicdump generates a DBIx::Class schema using "make_schema_at" in DBIx::Class::Schema::Loader and dumps it to disk. You can pass any DBIx::Class::Schema::Loader::Base constructor option using "-o <option>=<value>". For convenience, option names will have "-" replaced with "_" and values that look like references or quote-like operators will be "eval"-ed before being passed to the constructor. The "dump_directory" option defaults to the current directory if not specified. SEE ALSO
DBIx::Class::Schema::Loader, DBIx::Class. AUTHOR
Dagfinn Ilmari Manns?ker "<ilmari@ilmari.org>" CONTRIBUTORS
Caelum: Rafael Kitover <rkitover@cpan.org> alnewkirk: Al Newkirk <awncorp@cpan.org> LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-10-31 DBICDUMP(1p)
Man Page