Saya berasumsi konfigurasi adalah per pengguna. Pertama saya akan menyarankan Anda untuk menulis kelas pembungkus yang akan mengakses konfigurasi. Dengan begitu Anda hanya bisa mengubah inti konfigurasi di satu kelas tidak di semua kode.
class configuration {
public function get_user_configuration() {
// return users configuration
}
}
Saya pikir akan lebih mudah untuk menyimpan konfigurasi di database. Karena dengan demikian konfigurasi mungkin akan dicadangkan setiap hari dan dapat dengan mudah diekspor.
Caching konfigurasi ini adalah ide yang bagus. Cara termudah adalah dengan men-cache-nya di session. Anda juga dapat mencoba memcache atau APC.