Nearly every application in existence requires some form of configuration. After
all, no two instances of the same app are exactly the same. The "tried and true"
(read "quick and dirty") way of doing this has conventionally been with arrays.
This works well for most basic configuration values of scalar types, however,
sometimes it may be necessary to configure complex objects.
Read More