日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php自动生成curd,ThinkPHP5 快速curd

發布時間:2023/12/29 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php自动生成curd,ThinkPHP5 快速curd 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

thinkphp5-fast-curd

項目介紹

適用于ThinkPHP5(簡單、快速的構建CURD)

通過以下代碼簡單的常規CURD就完成了,接下來就可以去處理前端表單或列表了

...

// 類放置位置

use app\traits\Resources;

use app\models\ArticleModel;

class Article extends Controller

{

use Resources;

public function __construct(Request $request = null)

{

parent::__construct($request);

$this->db = new ArticleModel();

}

}

大部分需求可以使用控制器前置操作或者模型事件 加上模型關聯處理

如不能滿足需求可在控制器內重寫Resources內方法

PHP方法優先級

自身方法 > trait > 父類

class BaseController

{

public function index()

{

return 'base';

}

}

class ArticleController extends BaseController

{

use Test;

public function index()

{

return 'article';

}

}

trait Test

{

public function index()

{

return 'trait';

}

public function create()

{

return 'create';

}

}

實現代碼

namespace app\traits;

/**

* @author renjianfei

* @datetime 2018/09/13

*/

trait Resources

{

private $db = null;

private $pk = 'id';

private $softDeleteKey = 'visible';

/**

* 排序方式

*/

protected function sort($sort = '')

{

return empty($sort) ? $this->pk .' desc' : $sort;

}

/**

* 列表篩選

*/

protected function filter()

{

return array_filter(input());

}

/**

* @param $list 列表數據

*/

protected function afterIndex($list = [])

{

// TODO xxxx

}

/**

* 顯示資源列表

*/

public function index()

{

$list = $this->db->order($this->sort())->where($this->filter())->paginate();

$this->afterIndex($list);

return view('',[

'list' => $list,

]);

}

/**

* 顯示創建資源表單前

*/

public function beforeCreate()

{

}

/**

* 顯示創建資源表單

*/

public function create()

{

$this->beforeCreate();

return view();

}

/**

* 保存新建的資源前置操作

*/

protected function beforeSave()

{

}

/**

* 保存新建的資源

*/

public function save()

{

$this->beforeSave();

$res = $this->db->allowField(true)->save(array_filter(input())) ? $this->success('操作成功') : $this->error('保存失敗');

}

/**

* 顯示指定的資源

*/

public function read($id)

{

$info = $this->db->findOrFail($id);

return view('',[

'info' => $info

]);

}

/**

* 顯示指定資源表單

*/

public function edit($id)

{

$info = $this->db->findOrFail($id);

return view('edit',[

'info' => $info

]);

}

/**

* 更新資源前

*/

public function beforeUpdate()

{

}

/**

* 保存更新的資源

*/

public function update($id)

{

$this->beforeUpdate();

$this->db->allowField(true)->save(input(),[$this->pk => $id]) ? $this->success('保存成功',url('index')) : $this->error('保存失敗');

}

/**

* 軟刪除指定的資源

*/

public function delete($id)

{

$this->db->update([

$this->softDeleteKey = 0

],[

'id' => $id

]);

}

/**

* 真實刪除某行記錄

*/

public function destroy($id)

{

$this->db->where('id', $id)->delete() ? $this->success('刪除成功') : $this->error('刪除失敗');

}

}

總結

以上是生活随笔為你收集整理的php自动生成curd,ThinkPHP5 快速curd的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。