Re: Application settings, configuration, and preferences.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 27, 2010 at 5:27 PM, <mmestnik@xxxxxxxxxx> wrote:

> Recently we had a discussion about weather our code should be configured
> using files or a DB back-end.  As this topic effects nearly every
> development team I was wondering if there shouldn't be a common library
> that deals with all of these issues.
>
> We came to the conclusion that either should work, but our project must
> work on systems that would not have an SQLDB installed.  There fore it
> must be configured using files as supporting both would be a waste of
> our development time.
>
> Looking around for a solution I came across an extension to getopt that
> read command line parameters from a file, essentially emulating "exec
> $(cat);".  As this did allow configuration from either the command line
> or a file it's a good start.  However we are specificually looking for
> something that would accept configuration from a file or a DB, command
> line options are not important.  Though a great solution would take
> configuration from anywhere.
>
> A full featured solution would also support containing user preferences
> and administrative settings.  Allowing any of these to come from almost
> anywhere.  Here is how an example deployment might work.  As this would
> be a programming tool the user would be an administrator installing and
> configuring the software.
>
> Some configuration information contained in php should be extensible so
> that all the configuration could be done there.  In this case settings
> and user preferences would be read-only, configuration information is
> always read-only.  This would usually specify a config file to be
> located in the same folder or a subfolder.
>
> This configuration file would have a default format that is configurable
> in the php.  Would be one of PHP, XML, bind, apache, and several other
> config file formats.  This file would contain information on where
> settings and preferences could be written to, either another
> configuration file some where in /var or connection information for a DB.
>
> From an application developers stand point this should all be as
> difficult as getopt to setup, design decisions like what format the
> config file is in should be left up to the admin installing the
> software.  The developer need only be concerned with defining the values
> stored, there type, and other properties.
>
> Does anything like this exist?  This seams like an essential piece of
> code that is re-invented for every project.
>
>
PEAR's Config package sounds like a good match for what you are looking for.
It parses and outputs various formats and edits existing config files

http://pear.php.net/package/Config

There's a brief intro to what it can do at
http://pear.php.net/manual/en/package.configuration.config.intro.php

I have to admit I am somewhat biased as I'm currently on the PEAR Group
(read 'committee') - but I'd be surprised if there's not a Zend or
ezComponents/zetaComponents equivalent. I also have to admit there are some
outstanding issues that need to be addressed for PEAR's Config package - the
good news is someone has volunteered to resolve these today.

Good luck,

Ken


> --
> Mike Mestnik
> Technical Team
> ___
> Nagios Enterprises, INC.
> Email:  mmestnik@xxxxxxxxxx
> Web:    www.nagios.com
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
http://blogs.linux.ie/kenguest/

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux