App::Conf::File - Load and access configuration data
use App::Conf; $config = App::Conf->new(); $config = App::Conf->new(configFile => $file); print $config->dump(), "\n"; # use Data::Dumper to spit out the Perl representation # accessors $property_value = $config->get($property_name); $branch = $config->get_branch($branch_name); # get hashref of properties # on-demand loading helper methods (private methods) $config->overlay($config2); # merge the two config structures using overlay rules $config->overlay($config1, $config2); # merge $config2 onto $config1 $config->graft($branch_name, $config2); # graft new config structure onto branch # By convention, the configurations for each App-Context service will be located # two levels under the hash ref as shown. $config->{Conf} # config settings for all Conf services $config->{Conf}{default} # config settings for the default Conf service $config->{Security} # config settings for all Security services $config->{Security}{default} # config settings for the default Security service $config->{Template}{tt} # config settings for the Template service named "tt" # The default driver (if "configClass" not supplied) reads in a Perl # data structure from the file. Alternate drivers can read a Storable, # unvalidated XML, DTD-validated XML, RDF-validated XML, or any other # file format or data source anyone cares to write a driver for. $conf = { 'Standard' => { 'Log-Dispatch' => { 'logdir' => '/var/p5ee', } }, 'Authen' => { 'passwd' => '/etc/passwd', 'seed' => '303292', }, }; # A comparable unvalidating XML file would look like this. <conf> <Standard> <Log-Dispatch logdir="/var/p5ee"/> </Standard> <Authen passwd="/etc/passwd" seed="303292"/> </conf> # A comparable ini file (.ini) would look like this. [Standard.Log-Dispatch] logdir = /var/p5ee [Authen] passwd = /etc/passwd seed = 303292 # A comparable Java properties-like file would look like this. Standard.Log-Dispatch.logdir = /var/p5ee Authen.passwd = /etc/passwd Authen.seed = 303292
App::Conf::File is the class which represents configuration data in a file. The type of Serializer used to deserialize the data is determined by the extension on the file name and contents of the beginning of the file.
* Throws: App::Exception::Conf * Since: 0.01
The App::Conf::File class extends the App::Conf class, overriding the create() method.
The constructor is inherited from App::Conf.
App::Conf
The constructor is inherited from App::Reference.
App::Reference
The following methods are intended to be called by subclasses of the current class.
* Signature: $config_data = $config->create($named); * Param: void * Param: configFile string * Return: $config_data {} * Throws: App::Exception::Conf * Since: 0.01 Sample Usage: $config_data = $config->create(); $config_data = $config->create( configFile => "config.xml", );
This method overrides the default create() method for a Reference.
* Author: Stephen Adkins <stephen.adkins@officevision.com> * License: This is free software. It is licensed under the same terms as Perl itself.
App, App::Context, App::Reference, App::Conf
App
App::Context
To install App::Context, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Context
CPAN shell
perl -MCPAN -e shell install App::Context
For more information on module installation, please visit the detailed CPAN module installation guide.