Skip to content

Commit 818ff51

Browse files
author
Giovanni Lovato
committed
Optimized configuration getter
1 parent f0b312d commit 818ff51

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/Bread/Configuration/Manager.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ class Manager
2525

2626
private static $configurations = array();
2727

28+
private static $configured = array();
29+
2830
public static function initialize($url, $cache = false)
2931
{
3032
switch ($scheme = parse_url($url, PHP_URL_SCHEME)) {
@@ -47,6 +49,7 @@ public static function initialize($url, $cache = false)
4749

4850
public static function defaults($class, $configuration = array())
4951
{
52+
static::$configured[$class] = true;
5053
if ($parent = get_parent_class($class)) {
5154
$configuration = array_replace_recursive(static::get($parent), $configuration);
5255
}
@@ -69,7 +72,9 @@ public static function configure($class, $configuration = array())
6972

7073
public static function get($class, $key = null)
7174
{
72-
static::defaults($class);
75+
if (!isset(static::$configured[$class])) {
76+
static::defaults($class);
77+
}
7378
if (!isset(static::$configurations[$class])) {
7479
return null;
7580
}

0 commit comments

Comments
 (0)