views:

27

answers:

3

Ok so this is my situation...a web application in PHP uses a "config" file for various parameters. This config file is nothing but a php file, say config.php with a global array of the form

$config['param_name'] = 'param_value';
$config['param_name2'] = 'param_value2';

Now I am currently writing an admin app that I want to use to control the main app. One of the things I want the admin app to be able to do is change the config values. So my use case will be something like change the value through an html form element and it should change the config.php replacing the value of the corresponding array index.

This is obviously not specific to php; but I'd love to hear some ideas on how one would go about editing this file. Any ideas?

Thanks!

+2  A: 

I have another suggestion: have the configuration parameters sit in a database. Have your admin console work on the database instead.

If you are worried about performance, use APC to cache the parameters.

This way, you can add this configuration database to your other database backup procedure you have already in place.

jldupont
A: 

I would suggest moving all configurable options out of the PHP file and into an external storage (INI file, database, xml, anything). Then you can initialize all the variables you read from the external file in your application's bootstrap file

Marek Karbarz
A: 

Another option is to modify the PHP configuration file so it reads its information from an easy-to-access format like YAML.

That way the config file could be accessed by just about any language. A good alternative if you don't want yo use a database.

pablasso