protected $setting;
protected $cache;
+ protected $localCache = [];
protected $cachePrefix = 'setting-';
*/
public function get($key, $default = false)
{
- if ($default === false) $default = config('setting-defaults.' . $key, false);
+ if ($default === false) {
+ $default = config('setting-defaults.' . $key, false);
+ }
+ if (isset($this->localCache[$key])) {
+ return $this->localCache[$key];
+ }
+
$value = $this->getValueFromStore($key, $default);
- return $this->formatValue($value, $default);
+ $formatted = $this->formatValue($value, $default);
+ $this->localCache[$key] = $formatted;
+ return $formatted;
}
/**
{
// Check for an overriding value
$overrideValue = $this->getOverrideValue($key);
- if ($overrideValue !== null) return $overrideValue;
+ if ($overrideValue !== null) {
+ return $overrideValue;
+ }
// Check the cache
$cacheKey = $this->cachePrefix . $key;
- if ($this->cache->has($cacheKey)) {
- return $this->cache->get($cacheKey);
+ $cacheVal = $this->cache->get($cacheKey, null);
+ if ($cacheVal !== null) {
+ return $cacheVal;
}
// Check the database
{
$cacheKey = $this->cachePrefix . $key;
$this->cache->forget($cacheKey);
+ if (isset($this->localCache[$key])) {
+ unset($this->localCache[$key]);
+ }
}
/**
protected function formatValue($value, $default)
{
// Change string booleans to actual booleans
- if ($value === 'true') $value = true;
- if ($value === 'false') $value = false;
+ if ($value === 'true') {
+ $value = true;
+ }
+ if ($value === 'false') {
+ $value = false;
+ }
// Set to default if empty
- if ($value === '') $value = $default;
+ if ($value === '') {
+ $value = $default;
+ }
return $value;
}
*/
protected function getOverrideValue($key)
{
- if ($key === 'registration-enabled' && config('auth.method') === 'ldap') return false;
+ if ($key === 'registration-enabled' && config('auth.method') === 'ldap') {
+ return false;
+ }
return null;
}
-
-}
\ No newline at end of file
+}