设置
<p>>后台管理系统中的常用功能</p>
<hr />
<p>在 <code>App\Admin\Controllers\SettingsController</code> 中有部分示例代码可供参考</p>
<p>可以通过 <code>settings()</code> 辅助函数保存或获取设置</p>
<p>内置以下方法:</p>
<h2><strong>set - 保存设置</strong></h2>
<pre><code class="language-php">/**
* @param $key
* @param $value
*
* @return bool
*/
public function set($key, $value = null) { }
// eg
settings()-&gt;set('site_name', 'Owl Admin');</code></pre>
<p><br></p>
<h2><strong>setMany - 批量保存设置</strong></h2>
<pre><code class="language-php">/**
* @param array $data
*
* @return bool
*/
public function setMany(array $data) { }
// eg
settings()-&gt;setMany([
'site_name' =&gt; 'Owl Admin',
'site_description' =&gt; 'Owl Admin is a laravel admin package',
]);</code></pre>
<p><br></p>
<h2><strong>adminSetMany - 批量保存设置并返回后台响应格式数据</strong></h2>
<pre><code class="language-php">/**
* @param array $data
*
* @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
*/
public function adminSetMany(array $data) { }
// eg
public function store(Request $request)
{
// 直接返回后台响应格式数据
return settings()-&gt;adminSetMany($request-&gt;all());
}</code></pre>
<p><br></p>
<h2><strong>all - 以数组形式返回所有设置</strong></h2>
<pre><code class="language-php">/**
* @return array
*/
public function all() { }
// eg
settings()-&gt;all();</code></pre>
<p><br></p>
<h2><strong>get - 获取设置项</strong></h2>
<pre><code class="language-php">/**
* @param string $key 设置项key
* @param mixed|null $default 默认值
* @param bool $fresh 是否直接从数据库获取
*
* @return mixed|null
*/
public function get(string $key, mixed $default = null, bool $fresh = false) { }
// eg
settings()-&gt;get('site_name');</code></pre>
<p><br></p>
<h2><strong>arrayGet - 获取设置项中的某个值</strong></h2>
<pre><code class="language-php">/**
* @param string $key 设置项key
* @param string $path 通过点号分隔的路径, 同Arr::get()
* @param $default
*
* @return array|\ArrayAccess|mixed|null
*/
public function arrayGet(string $key, string $path, $default = null) { }
// eg
settings()-&gt;arrayGet('site_info', 'title.zh.value');</code></pre>
<p><br></p>
<h2><strong>clearCache - 清除指定设置项的缓存</strong></h2>
<pre><code class="language-php">/**
* @param $key
*
* @return void
*/
public function clearCache($key) { }
// eg
settings()-&gt;clearCache('site_name');</code></pre>