我有一个包含大量配置值的配置表, 如何创建一个可在laravel全局使用的静态助手/类?
例如,我有一个输入视图:
<input type="text" value="<?= SettingsHelper::getValue('my-settings-key'); ?>" />
当然,我不想每次都查询它,只需要查询一个获取所有配置值的查询。
有什么想法吗?
答案 0 :(得分:0)
你可以这样做,
class SettingHelper {
protected $items;
public function get($key, $default = null)
{
if ( empty($this->items))
{
$this->loadSettingData();
}
if ( array_key_exists($key, $this->items) )
{
return $this->items[$key];
}
return value($default);
}
protected function loadSettingData()
{
$this->items = Setting::all()->lists('key', 'value');
}
}
需要在Container中使用单例绑定此类。