日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php自动生成curd,ThinkPHP5 快速curd

發(fā)布時(shí)間:2023/12/29 php 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php自动生成curd,ThinkPHP5 快速curd 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

thinkphp5-fast-curd

項(xiàng)目介紹

適用于ThinkPHP5(簡(jiǎn)單、快速的構(gòu)建CURD)

通過以下代碼簡(jiǎn)單的常規(guī)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();

}

}

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

如不能滿足需求可在控制器內(nèi)重寫Resources內(nèi)方法

PHP方法優(yōu)先級(jí)

自身方法 > 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';

}

}

實(shí)現(xiàn)代碼

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 列表數(shù)據(jù)

*/

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,

]);

}

/**

* 顯示創(chuàng)建資源表單前

*/

public function beforeCreate()

{

}

/**

* 顯示創(chuàng)建資源表單

*/

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

]);

}

/**

* 真實(shí)刪除某行記錄

*/

public function destroy($id)

{

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

}

}

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。