All applications' configuration files are inside the applications' {{config/}} directories. All configuration files are valid PHP files. This has the drawback that they are more difficult to edit, and that administrators might create invalid PHP code, leading to parsing errors and breaking the applications.
But there are several good reasons for making configuration files PHP code:
There is a set of default configuration files that are mandatory for an application, or optional but consistently used across all applications:
Normally, the configuration files have distributed examples with a {{.dist}} suffix appended to the file names. The {{prefs.php}} file for example comes distributed as {{prefs.php.dist}}. Applications are configured by copying e.g. {{prefs.php.dist}} to {{prefs.php}} and editing the configuration files with any text editor.
The only exception is currently the {{conf.php}} file, which no longer comes as a {{conf.php.dist}} file, but as a {{conf.xml}} file containing the available options and their default values as XML markup (see ((ConfXML))). A graphical setup interface is created from this XML data that administrators can open and edit in their browsers. If they submit the configuration form, the PHP configuration files are created automatically, they no longer need to edited manually. This approach solves most of the drawbacks with PHP configuration files while keeping the good things:
This approach will be extended over other configuration files in the future.