thinkphp5的不同資料所添加的規則
在admin系統管理員新增資料表中,由於不同的資料會有不同的新增方式,不同的資料也有不同的資料庫儲存類型,以下是常見幾種不同類型的資料新增規則//未註明的資料庫儲存的資料類型皆為char
1.簡單文字類別新增(姓名、年齡、名稱、簡介等)
add.html程式碼段
<p class="col-sm-6"> <input class="form-control" id="username" placeholder="" name="username" type="text"> </p>
Admin.php函數部分
public function add() { if(request()->isPost()){ $data=[//将输入的值赋值给数组 'username'=>input('username'), 'password'=>input('password'), ]; $validate = \think\Loader::validate('Admin');//验证环节 if(!$validate->scene('add')->check($data)){ $this->error($validate->getError()); die;//未通过验证则输出错误 } if(db('admin')->insert($data)){//添加数据库 return $this->success('添加管理员成功!','lst'); }else{ return $this->error('添加管理员失败!'); } return; } return $this->fetch(); }
在validate資料夾中的Admin.php
檔案
<?phpnamespace app\admin\validate;use think\Validate;class Admin extends Validate{ protected $rule = [//验证条件 'username' => 'require|max:25|unique:admin', 'password' => 'require', ]; protected $message = [//报错信息 'username.require' => '管理员名称必须填写', 'username.max' => '管理员名称长度不得大于25位', 'username.unique' => '管理员名称不得重复', 'password.require' => '管理员密码必须填写', ]; protected $scene = [ 'add' => ['username'=>'require|unique:admin','password'], 'edit' => ['username'=>'require|unique:admin'], ];//约束条件所作用的函数域}
新增效果圖
2.長文本編輯新增(文章、序言、簡介等)
長文本通常指的是文章,簡介之類需要進行格式修改的文本,在這裡可以引用一些插件,項目引用的是百度編輯器,將下載好的百度編輯器文件放在public/static/admin之中
如下圖
以下是引用該編輯器的方法
add.html所在的程式碼樣式
<p class="col-sm-6"> <label > <textarea name="content" id="content" ></textarea> </label> </p>
在控制器中的函數讀取與短文字的方式一樣,因為都是char類型
完成效果圖
#3.0-1選擇新增(性別,yes/no的新增)
#
這裡使用的是beyond.js裡面的插件
如圖
源碼為
<p class="form-group"> <label for="username" class="col-sm-2 control-label no-padding-right">状态</label> <p class="col-sm-6"> <select name="gender"> <option value="请选择状态">请选择状态</option> <option value="已审核">已审核</option> <option value="未审核">未审核</option> </select> </p> </p> <p class="form-group"> <label for="username" class="col-sm-2 control-label no-padding-right">性别</label> <p class="col-sm-6"> <p class="control-group"> <p class="radio"> <label> <input name="form-field-radio" type="radio" class="colored-blue" value="男"> <span class="text" >男</span> </label> </p> <p class="radio"> <label> <input name="form-field-radio" type="radio" class="colored-danger" value="女"> <span class="text"> 女</span> </label> </p> <p class="radio"> <label> <input name="form-field-radio" type="radio" class="colored-success" value="未确定"> <span class="text"> 未确定</span> </label> </p> </p> </p> </p>
這種性別推薦類別最好使用char類型,如果使用整數字元有點麻煩,這種靜態提供選項類別,還有一種分類的類別由資料庫讀入
如下
#html中程式碼如下
<p class="form-group"> <label for="group_id" class="col-sm-2 control-label no-padding-right">所属栏目</label> <p class="col-sm-6"> <select name="cateid"> <option value="">请选择栏目</option> {volist name="cateres" id="vo"} <option value="{$vo.id}">{$vo.catename}</option> {/volist} </select> </p> <p class="help-block col-sm-4 red">* 必填</p> </p>
cates來源Article.php中
如下圖
由於在Article控制器中在modle預設已經連接artcle資料表,但推薦來自其他資料表則在model/Article.php之中利用belongsTo()函數如圖所示建立一對多連接(一個頁面連接多個數據表,自己的理解,好像不太對)如下圖
這樣一個多選的類型就搞好了
4.日期新增(手動新增與自動新增)
日期新增一般資料庫對應的日期類型為
最簡單的就是自動新增
不需要有輸入框,這種新增一般為系統固定時間,或取得目前時間,在控制器之中只需要利用函數或自訂時間,例如使用date(“Y-m-d H:i:s”);取得目前時間
手動新增時間為在輸入框內自行輸入目前時間
需要日期範本插件,例如 layui之中的日期插件
由於需要導入css js等,這裡就不說明了,以後有用到時,我會專門對此進行說明
5.圖片添加
首先是資料庫裡面圖片的型別
add.html中的程式碼
<p class="form-group"> <label for="group_id" class="col-sm-2 control-label no-padding-right">缩略图</label> <p class="col-sm-6"> <input id="pic" placeholder="" name="pic" type="file"> </p> </p>
下圖為控制器程式碼,其中有比較詳細的註解(自己的理解)
6.手機號碼、信箱新增
此處和新增短文字一樣,主要是對輸入的資訊判斷是否為手機號碼或信箱
在validate/Article.php中
加入如手冊中類似的驗證資訊進行驗證
本文講解了thinkphp5的不同資料添加的規則,更多相關內容請關注php中文網。
相關推薦:
#以上是thinkphp5的不同資料所添加的規則的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

執行 ThinkPHP 專案需要:安裝 Composer;使用 Composer 建立專案;進入專案目錄,執行 php bin/console serve;造訪 http://localhost:8000 查看歡迎頁面。

ThinkPHP 擁有多個版本,針對不同 PHP 版本而設計。主要版本包括 3.2、5.0、5.1 和 6.0,而次要版本用於修復 bug 和提供新功能。目前最新穩定版本為 ThinkPHP 6.0.16。在選擇版本時,需考慮 PHP 版本、功能需求和社群支援。建議使用最新穩定版本以獲得最佳性能和支援。

ThinkPHP Framework 的本機運作步驟:下載並解壓縮 ThinkPHP Framework 到本機目錄。建立虛擬主機(可選),指向 ThinkPHP 根目錄。配置資料庫連線參數。啟動 Web 伺服器。初始化 ThinkPHP 應用程式。存取 ThinkPHP 應用程式 URL 運行。

Laravel 和 ThinkPHP 框架的效能比較:ThinkPHP 效能通常優於 Laravel,專注於最佳化和快取。 Laravel 性能良好,但對於複雜應用程序,ThinkPHP 可能更適合。

《開發建議:如何利用ThinkPHP框架實現非同步任務》隨著網路技術的快速發展,Web應用程式對於處理大量並發請求和複雜業務邏輯的需求也越來越高。為了提高系統的效能和使用者體驗,開發人員常常會考慮利用非同步任務來執行一些耗時操作,例如發送郵件、處理文件上傳、產生報表等。在PHP領域,ThinkPHP框架作為一個流行的開發框架,提供了一些便捷的方式來實現非同步任務。

ThinkPHP 安裝步驟:準備 PHP、Composer、MySQL 環境。使用 Composer 建立專案。安裝 ThinkPHP 框架及相依性。配置資料庫連線。產生應用程式碼。啟動應用程式並造訪 http://localhost:8000。

ThinkPHP 是一款高效能的 PHP 框架,具備快取機制、程式碼最佳化、平行處理和資料庫最佳化等優勢。官方性能測試顯示,它每秒可處理超過 10,000 個請求,實際應用中被廣泛用於京東商城、攜程網等大型網站和企業系統。

開發建議:如何利用ThinkPHP框架進行API開發隨著網際網路的不斷發展,API(ApplicationProgrammingInterface)的重要性也日益凸顯。 API是不同應用程式之間進行通訊的橋樑,它可以實現資料共享、功能呼叫等操作,為開發者提供了相對簡單且快速的開發方式。而ThinkPHP框架作為一款優秀的PHP開發框架,具有高效能、可擴展且易用
