/**
* Compatiblity method to return this class' name
*
- * @return __CLASS__ This class' name
+ * @return __CLASS__ This class' name
*/
public function __toString () {
return get_class($this);
}
/**
- * Getter for an instance of this class
+ * Getter for a singleton instance of this class
*
- * @return $configInstance An instance of this class
+ * @return $configInstance A singleton instance of this class
*/
public static final function getSelfInstance () {
// is the instance there?
self::$configInstance = new FrameworkConfiguration();
} // END - if
+ // Return singleton instance
return self::$configInstance;
}
+ /**
+ * Converts dashes to underscores, e.g. useable for configuration entries
+ *
+ * @param $str The string with maybe dashes inside
+ * @return $str The converted string with no dashed, but underscores
+ */
+ private final function convertDashesToUnderscores ($str) {
+ // Convert them all
+ $str = str_replace('-', '_', $str);
+
+ // Return converted string
+ return $str;
+ }
+
/**
* Setter for default time zone (must be correct!)
*
* @param $configEntry The configuration entry we shall check
* @return $isset Whether the given configuration entry is set
*/
- protected function isConfigurationEntrySet ($configEntry) {
+ public function isConfigurationEntrySet ($configEntry) {
// Is it set?
$isset = isset($this->config[$configEntry]);
* @throws NoConfigEntryException If a configuration element was not found
*/
public function getConfigEntry ($configEntry) {
- // Cast to string
- $configEntry = (string) $configEntry;
+ // Convert dashes to underscore
+ $configEntry = $this->convertDashesToUnderscores($configEntry);
// Is a valid configuration entry provided?
if (empty($configEntry)) {
*/
public final function setConfigEntry ($configEntry, $configValue) {
// Cast to string
- $configEntry = (string) $configEntry;
+ $configEntry = $this->convertDashesToUnderscores($configEntry);
$configValue = (string) $configValue;
// Is a valid configuration entry provided?
} // END - if
// Set the configuration value
+ //* NOISY-DEBUG: */ print(__METHOD__ . ':configEntry=' . $configEntry . ',configValue=' . $configValue . PHP_EOL);
$this->config[$configEntry] = $configValue;
// Resort the array
* Unset a configuration entry, the entry must be there or else an
* exception is thrown.
*
- * @param $configKey Configuration entry to unset
+ * @param $configEntry Configuration entry to unset
* @return void
* @throws NoConfigEntryException If a configuration element was not found
*/
- public final function unsetConfigEntry ($configKey) {
+ public final function unsetConfigEntry ($configEntry) {
+ // Convert dashes to underscore
+ $configEntry = $this->convertDashesToUnderscores($configEntry);
+
// Is the configuration entry there?
- if (!$this->isConfigurationEntrySet($configKey)) {
+ if (!$this->isConfigurationEntrySet($configEntry)) {
// Entry was not found!
- throw new NoConfigEntryException(array(__CLASS__, $configKey), self::EXCEPTION_CONFIG_ENTRY_WAS_NOT_FOUND);
+ throw new NoConfigEntryException(array(__CLASS__, $configEntry), self::EXCEPTION_CONFIG_ENTRY_WAS_NOT_FOUND);
} // END - if
// Unset it
- unset($this->config[$configKey]);
+ unset($this->config[$configEntry]);
}
/**