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

FreeBSD Manual Pages

  
 
  

home | help
Catalyst::Plugin::ConfUseraContributedaPelyst::Plugin::ConfigLoader::Manual(3)

NAME
       Catalyst::Plugin::ConfigLoader::Manual -	Guide to using the
       ConfigLoader plugin

BASIC USAGE
	   package MyApp;

	   use Catalyst	qw( ConfigLoader ... );

ENVIRONMENT VARIABLES
       o   "MYAPP_CONFIG" - specific config file to load for "MyApp"

       o   "CATALYST_CONFIG_LOCAL_SUFFIX" - global suffix for extra config
	   files

       o   "MYAPP_CONFIG_LOCAL_SUFFIX" - suffix	specifically for "MyApp"

CONFIG FORMATS
   Config::General
       Extensions

       o   cnf

       o   conf

       Example Config

	   name	= TestApp
	   <Component Controller::Foo>
	       foo bar
	   </Component>
	   <Model Baz>
	       qux xyzzy
	   </Model>

   INI
       Extensions

       o   ini

       Example Config

	   name=TestApp

	   [Controller::Foo]
	   foo=bar

	   [Model::Baz]
	   qux=xyzzy

   JSON
       Extensions

       o   jsn

       o   json

       Example Config

	   {
	       "name": "TestApp",
	       "Controller::Foo": {
		   "foo": "bar"
	       },
	       "Model::Baz": {
		   "qux": "xyzzy"
	       }
	   }

   Perl
       Extensions

       o   pl

       o   perl

       Example Config

	   {
	       name => 'TestApp',
	       'Controller::Foo' => {
		   foo => 'bar'
	       },
	       'Model::Baz' => {
		   qux => 'xyzzy'
	       }
	   }

   XML
       Extensions

       o   xml

       Example Config

	<config>
	       <name>MyApp::CMS</name>
	       <paths>
		 <upload_dir>/var/www/docs/myapp-cms/uploads</upload_dir>
	       </paths>
	       <model name="DB">
		 <connect_info>dbi:mysql:cmsdb</connect_info>
		 <connect_info>user</connect_info>
		 <connect_info>password</connect_info>
	       </model>
	       <component name="View::TT">
		 <INCLUDE_PATH>__path_to(root,templates)__</INCLUDE_PATH>
		 <ENCODING>UTF-8</ENCODING>
		 <TRIM>1</TRIM>
		 <PRE_CHOMP>2</PRE_CHOMP>
		 <POST_CHOMP>2</POST_CHOMP>
	       </component>

	</config>

       Note that the name attribute for	the "model" tag	should be the relative
       namespace of the	Catalyst model,	not the	absolute one.  That is for
       "MyApp::Model::Something" the "name" attribute should be	"Something".

   YAML
       Extensions

       o   yml

       o   yaml

       Example Config

	   ---
	   name: TestApp
	   Controller::Foo:
	       foo: bar
	   Model::Baz:
	       qux: xyzzy

COOKBOOK
   Configuring a Catalyst::Model::DBIC::Schema model from a YAML config
	   Model::MyModel:
	     schema_class: MyApp::MySchema
	     connect_info:
	       - dbi:SQLite:myapp.db
	       - ''
	       - ''
	       - AutoCommit: 1

   Converting your existing config to Config::General format
       As of Catalyst::Devel 1.07, a newly created application will use
       Config::General for configuration. If you wish to convert your existing
       config, run the following one-liner (replacing MyApp with your app's
       name):

	   perl	-Ilib -MMyApp -MConfig::General	-e 'Config::General->new->save_file("myapp.conf", MyApp->config);'

   Using UTF-8 strings in a Config::General file
       If you have UTF-8 strings in your Config::General-based config file,
       you should add the following config information to MyApp.pm:

	   __PACKAGE__->config(	'Plugin::ConfigLoader' => {
	       driver => {
		   'General' =>	{ -UTF8	=> 1 },
	       }
	   } );

   Using a local configuration file
       When ConfigLoader reads configurations, it starts by reading the
       configuration file for "myapp" with one of the supported	extensions as
       listed above.

       For example, A Config::General config file is "myapp.conf".

       If a configuration file called "myapp_local" exists with	one of the
       supported file extensions, it will also be read,	and values from	that
       file will override values from the main config file.

       A Config::General local configuration file would	be called
       "myapp_local.conf".

       The "local" suffix can be changed.  See "get_config_local_suffix" in
       Catalyst::Plugin::ConfigLoader for the details of how.

       This is useful because it allows	different people or environments to
       have different configuration files.  A project with three developers,
       Tom, Dick, and Harry as well as a production environment	can have a
       "myapp_tom.conf", a "myapp_dick.conf", a	"myapp_harry.conf", and	a
       "myapp_production.conf".

       Each developer, and the web server, would set the environment variable
       to load their proper configuration file.	 All of	the configurations can
       be stored properly in source control.

       If there	is no "myapp_local.ext"	(where .ext is a supported extension),
       and the individual configuration	files contain something	required to
       start the application, such as the Model's data source definition, the
       applicaton won't	start unless the environment variable is set properly.

perl v5.32.1			  201Catalyst::Plugin::ConfigLoader::Manual(3)

NAME | BASIC USAGE | ENVIRONMENT VARIABLES | CONFIG FORMATS | COOKBOOK

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

home | help