I’m in progress with developing my new website with Codeigniter framework. The key is that, I’d like to have most things to be configurable in my admin panel.
I haven’t got much experience about storing the data, so which way its going to be better: PHP configuration files or MySQL table?
There will be pretty a high amount of configurations, so I would like to access it as fast as possible: for example with the MVC’s model , but none said I can’t do the same with the helper (for the PHP configuration files) … So it all depends on which way its going to be: accessable faster, better to update. In my opinion, MySQL will be a better choice for this, since all I need there is just a little query – but I would first listen to your opinions guys, as most of you have a great experience related to this kind of stuff.
I think it’s going to depend on how your applications is configured. How many instances will you be running (for scale out) and how often you expect values to change.
A big pro is having a consistent master for configuration data across all of your instances. Change it in one place and all of your instances get it. This can also be changed during runtime versus having to redeploy your application. The con is the extra complexity of fetching configuration data from the database (not to mention setting up a server for this in the first place) and it’s another point of failure.
On the other hand, having a configuration file is much easier and that might be appropriate if you don’t need to change values very frequently or only have a single server. The downside comes when you have multiple servers, it becomes a pain to deploying and managing configuration files on tens or hundreds of servers.