Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

The 'default' config for Configure class is now auto created on first…

… use if not already created.
  • Loading branch information...
commit 08026e58289d8f249517a82ca1a66b7ed92c390a 1 parent 0e5797d
@ADmad ADmad authored
View
10 lib/Cake/Core/Configure.php
@@ -287,6 +287,9 @@ public static function drop($name) {
*
* `Configure::load('setup', 'default');`
*
+ * If using `default` config and no reader has been configured for it yet,
+ * one will be automatically created using PhpReader
+ *
* @link http://book.cakephp.org/view/929/load
* @param string $key name of configuration resource to load.
* @param string $config Name of the configured reader to use to read the resource identified by $key.
@@ -296,7 +299,12 @@ public static function drop($name) {
*/
public static function load($key, $config = 'default', $merge = true) {
if (!isset(self::$_readers[$config])) {
- return false;
+ if ($config === 'default') {
+ App::uses('PhpReader', 'Configure');
+ self::$_readers[$config] = new PhpReader();
+ } else {
+ return false;
+ }
}
$values = self::$_readers[$config]->read($key);
View
14 lib/Cake/Test/Case/Core/ConfigureTest.php
@@ -192,6 +192,20 @@ public function testLoadExceptionOnNonExistantFile() {
}
/**
+ * test load method for default config creation
+ *
+ * @return void
+ */
+ public function testLoadDefaultConfig() {
+ try {
+ Configure::load('non_existing_configuration_file');
+ } catch (Exception $e) {
+ $result = Configure::configured('default');
+ $this->assertTrue($result);
+ }
+ }
+
+/**
* test load with merging
*
* @return void
Please sign in to comment.
Something went wrong with that request. Please try again.