title: Large Configuration for class, implementation suggestions
body: <p>So I have a large class that I'm refactoring to be more flexible.</p>
  
  <p>well over 100 configurable properties (variables) in a INI file. Some are dev settings and others are production settings. </p>
  
  <p>Currently I use a environment flag to pull the INI settings I need (either dev or prod).</p>
  
  <p>All the INI fields are mandatory and must be set. (currently using setters for this).</p>
  
  <p>So what makes more sense?</p>
  
  <ul>
  <li>A: to keep the current setup</li>
  <li>B: Move to another type of configuration setup (like xml or something)</li>
  <li>C: Move all settings into the script itself and remove the INI parsing and validation code (setters)</li>
  <li>D: suggestions?</li>
  </ul>
  
  <p>Bonus question:</p>
  
  <p>I was reading this over the weekend: <a href="http://berryllium.nl/2011/02/getters-and-setters-evil-or-necessary-evil/" rel="nofollow">http://berryllium.nl/2011/02/getters-and-setters-evil-or-necessary-evil/</a> and wanted to know how I could follow more of this type of development style but confused as how to not use getter/setter functionality with setting mandatory fields? I understand the need to getters/setters and wanted to know if I'm implementing them correctly? </p>
  
  <p>I use the INI for stuff like DB settings, validation limits (think spending limit of $100 but could change), large array (static values like the 50 US States but with the ability to add US territories as well)</p>