## 基類控制器
~~~
app/common/controller/Api.php //API接口基類控制器
app/common/controller/Backend.php //后臺基類控制器
app/common/controller/Frontend.php //前臺基類控制器
app/common/controller/AddonsFrontend .php //插件前臺基類控制器
app/common/controller/AddonsBackend.php //插件后臺基類控制器
~~~
## traits Curd 類 這個類 里有增刪改查方法 index/add/edit/delete/destroy 等
~~~
app\common\traits\Curd //Curd 基類類控制器
~~~
- 默認前臺控制器 統一繼承 Frontend .php
- 默認后臺控制器 統一繼承 Backend.php
- 插件前臺控制器 統一繼承 AddonsFrontend .php
- 插件后臺控制器 統一繼承 AddonsBackend.php
- 例如后臺控制器
~~~
<?php
/**
FunAdmin 會員管理
* ============================================================================
* 版權所有 2017-2028 FunAdmin,并保留所有權利。
* 網站地址: http://www.FunAdmin.com
* ----------------------------------------------------------------------------
* 采用最新Thinkphp6實現
* ============================================================================
* Author: yuege
* Date: 2020/8/2
*/
namespace app\backend\controller\member;
use app\common\controller\Backend;
use think\facade\Request;
use think\facade\View;
use app\backend\model\Member as MemberModel;
use think\App;
class Member extends Backend
{
/**
* 關聯搜索
* @var bool
*/
protected $relationSearch = true;
public function __construct(App $app)
{
parent::__construct($app);
$this->modelClass = new MemberModel();
}
/**
* 默認的控制器所繼承的父類中有index/add/edit/delete/destroy 等方法
* 因此在當前控制器中可不用編寫增刪改查的代碼,如果需要自己在這里增加或者修改這里的邏輯
*/
}
~~~
## 屬性和方法
- 當我們的控制器繼承自以上基類控制器以后,我們就可以使用以下常用屬性
~~~
/**
* @var
* 模型
*/
protected $modelClass;
/**
* @var
* 頁面大小
*/
protected $pageSize;
/**
* @var
* 頁數
*/
protected $page;
/**
* 模板布局,
* @var string|bool
*/
protected $layout = 'layout/main';
/**
* 快速搜索時執行查找的字段
*/
protected $searchFields = 'id';
protected $allowModifyFileds = [
'status',
'sort',
'title',
'auth_verify',
];
/**
* 是否是關聯查詢
*/
protected $relationSearch = false;
~~~
## 關聯查詢 在控制器設置 $relationSearch 即可
~~~
protected $relationSearch = true;
~~~
我們需要修改控制器的`index`方法,代碼如下:
~~~
public function index()
{
if ($this->request->isAjax()) {
list($this->page, $this->pageSize, $sort, $where) = $this->buildParames('',true);
$count = $this->modelClass
->withJoin(['memberGroup','memberLevel'])
->where($where)
->count();
$list = $this->modelClass
->withJoin(['memberGroup','memberLevel'])
->where($where)
->order($sort)
->page($this->page, $this->pageSize)
->select();
$result = ['code' => 0, 'msg' => lang('Delete Data Success'), 'data' => $list, 'count' => $count];
return json($result);
}
return view();
}
~~~
## 后臺增加一個控制器
- 需要添加一個模型
- 添加一個視圖頁面
- 在后臺對應靜態文件目錄添加一個 控制器名.js (注意js文件名必須小寫)修改里面的地址即可
- 介紹
- 系統架構
- 安裝
- 多語言
- 數據庫
- 控制器
- 開發示例
- 前端
- js 模板
- js cols字段解析
- 權限驗證
- table事件
- 常用組件
- input表單
- xmselect表單
- textarea表單
- upload表單
- editor表單
- select表單
- radio表單
- switch表單
- checkbox表單
- arrays表單
- icon表單
- date表單
- city表單
- region表單
- tags表單
- color表單
- submit按鈕
- close按鈕
- Api接口
- 插件基礎
- 目錄結構
- 插件市場
- 插件管理
- 插件開發
- 模塊
- 插件文件
- 插件配置
- 插件基礎信息
- 內置函數
- 插件數據庫
- 全局js 文件
- Curd命令行
- CURD命令
- Menu命令
- 表格規范
- CMS管理--待更新
- CMS目錄結構
- 內置標簽
- fun標簽
- 萬能標簽
- 分類標簽
- 導航標簽
- 廣告標簽
- tag標簽
- 友情鏈接
- 碎片標簽
- 常見問題