基础概念
<p>框架在 <code>Slowlyo\SlowAdmin\Controllers\AdminController</code> 中实现了以下方法:</p>
<table>
<thead>
<tr>
<th style="text-align: left;">方法</th>
<th style="text-align: left;">功能</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">index()</td>
<td style="text-align: left;">列表页及获取列表数据</td>
</tr>
<tr>
<td style="text-align: left;">create()</td>
<td style="text-align: left;">新增页面</td>
</tr>
<tr>
<td style="text-align: left;">store()</td>
<td style="text-align: left;">新增数据的保存逻辑</td>
</tr>
<tr>
<td style="text-align: left;">show()</td>
<td style="text-align: left;">详情页面及获取详情数据</td>
</tr>
<tr>
<td style="text-align: left;">edit()</td>
<td style="text-align: left;">编辑页面</td>
</tr>
<tr>
<td style="text-align: left;">update()</td>
<td style="text-align: left;">编辑数据的保存逻辑</td>
</tr>
<tr>
<td style="text-align: left;">destroy()</td>
<td style="text-align: left;">删除数据的逻辑</td>
</tr>
</tbody>
</table>
<p><br></p>
<p>就是 resource 路由对应的方法, 如果你还不知道请看 <a href="https://learnku.com/docs/laravel/9.x/controllers/12212#resource-controllers">文档</a></p>
<p>通过这些方法, 组成了一个完整的 CRUD 功能</p>
<p>> 当默认的方法不满足你的需求时, 可以在你的 controller 重写这几个方法</p>
<p><br></p>
<h3><strong>开发一个新功能的步骤</strong></h3>
<ol>
<li>在 <code>app/Admin/routes.php</code> 中注册一个 <code>resource</code> 路由</li>
</ol>
<pre><code class="language-php"> $router-&gt;resource('book', \App\Admin\Controllers\BookController::class);</code></pre>
<ol>
<li>新建对应的控制器 <code>app/Admin/Controllers/BookController.php</code> 并继承 <code>AdminController</code></li>
</ol>
<pre><code class="language-php">&lt;?php
namespace App\Admin\Controllers;
use Slowlyo\OwlAdmin\Controllers\AdminController;
class BookController extends AdminController
{
// 重写 list 、form 、detail 方法, 构建页面
}</code></pre>
<ol>
<li>在菜单管理中, 创建对应的菜单即可访问</li>
</ol>
<p><br></p>
<p><strong>使用代码生成器可以由系统自动处理以上步骤, 只需要自行在控制器及Service中更改自己的逻辑即可</strong></p>
<p><br></p>
<h2><strong>Service</strong></h2>
<ul>
<li>控制器中的 <code>service</code> 属性, 会根据你在自己的控制器中定义的 <code>serviceName</code> 属性, 在 <code>AdminController</code> 初始化时, 自动初始化为对应的 <code>service</code> 实例</li>
</ul>