$user=UserModel::get(1); if($user->delete()){return '刪除成功';} else{return '刪除失敗';}
if(UserModel::destroy(2))return '刪除成功'; else return '刪除失敗';
if(UserModel::destroy([3,4])){return '刪除多條數據成功';}else{return '刪除多條數據失敗';}
if(UserModel::destroy(['name'=>'陳國鬆']))return '刪除成功'; else return '刪除失敗';
$result=UserModel::where('id','>',6)->delete(); if($result){ return '刪除成功'; } else return '刪除失敗'; }
視圖功能由 \think\View 類配合視圖驅動(模板引擎)類一塊兒完成,目前的內置模板引擎包含PHP原生模板
和Think模板引擎。
由於新版的控制器能夠無需繼承任何的基礎類,所以在控制器中如何使用視圖取決於你怎麼定義控制器。php
若是你的控制器繼承了 \think\Controller 類的話,則無需本身實例化視圖類,能夠直接調用控制器基礎
類封裝的相關視圖類的方法。html
下面的方法能夠直接被調用:thinkphp
方法 | 說明 |
---|---|
fetch | 渲染模板輸出 |
display | 渲染內容輸出 |
assign | 模板變量賦值 |
engine | 初始化模板 |
賦值給模板變量數據庫
$name='個人滑板鞋'; $email='huabanxie@qq.com'; $this->assign('name',$name); $this->assign('email',$email);
批量賦值緩存
$this->assign( ['name'=>$name,'email'=>$email] );
fetch 渲染模板輸出cookie
該方法默認渲染的是view/index/index.htmlsession
return $this->fetch(); return $this ->fetch('user/user'); //view下的user下的user.html return $this->fetch('index',['name'=>'thinkphp','email'=>'thinkphp@qq.com']);//給index.html傳賦給的值
助手函數view也能夠框架
return view('index',['name'=>'陳國鬆','email'=>'chenguosong@qq.com']);
ThinkPHP內置了一個基於XML的性能卓越的模板引擎,這是一個專門爲ThinkPHP服務的內置模板引擎,使用了XML標籤庫技術的編譯型模板引擎,支持兩種類型的模板標籤,使用了動態編譯和緩存技術,並且支持自定義標籤庫。函數
每一個模塊的模板文件是獨立的,爲了對模板文件更加有效的管理,ThinkPHP對模板文件進行目錄劃分,性能
默認的模板文件定義規則是:
視圖目錄/控制器名(小寫)/操做名(小寫)+模板後綴默認的視圖目錄是模塊的view目錄,框架的默認視圖文件後綴是 .html
普通標籤用於變量輸出和模板註釋,普通模板標籤默認以 { 和 } 做爲開始和結束標識,而且在開始標記緊
跟標籤的定義,若是之間有空格或者換行則被視爲非模板標籤直接輸出。 例如: {$name} 、
{$vo.name} 、 {$vo['name']|strtoupper} 都屬於正確的標籤,而 { $name} 、
{ $vo.name} 則不屬於。
能夠經過修改config.php裏面的模板設置開始和結束標識
{$Think.server.script_name} // 輸出$_SERVER['SCRIPT_NAME']變量{$Think.session.user_id} // 輸出$_SESSION['user_id']變量{$Think.get.pageNumber} // 輸出$_GET['pageNumber']變量{$Think.cookie.name} // 輸出$_COOKIE['name']
支持輸出 $_SERVER 、 $_ENV 、 $_POST 、 $_GET 、 $_REQUEST 、 $_SESSION 和$_COOKIE 變量
在控制器文件裏定義的常量
{$Think.APP_PATH}
{$Think.config.default_module}{$Think.config.default_controller}
{$data.name|md}
編譯後是
<?php echo (md5($data['name']));
若是函數有多個參數須要調用,則使用:
{$create_time|date="y-m-d",###}
表示date函數傳入兩個參數,每一個參數用逗號分割,這裏第一個參數是 y-m-d ,第二個參數是前面要輸出的
create_time 變量,由於該變量是第二個參數,所以須要用###標識變量位置,編譯後的結果是:
<?php echo (date("y-m-d",$create_time)); ?>
若是前面輸出的變量在後面定義的函數的第一個參數,則能夠直接使用:
{$data.name|substr=0,3}
表示輸出
<?php echo (substr($data['name'],0,3)); ?>
雖然也能夠使用:
{$data.name|substr=###,0,3}
但徹底沒用這個必要。
還能夠支持多個函數過濾,多個函數之間用「|」分割便可,例如:
{$name|md5|strtoupper|substr=0,3}
編譯後的結果是:
<?php echo (substr(strtoupper(md5($name)),0,3)); ?>
使用函數函數會按照從左到右的順序依次調用。
若是你以爲這樣寫起來比較麻煩,也能夠直接這樣寫:
{:substr(strtoupper(md5($name)),0,3)}
變量輸出使用的函數能夠支持內置的PHP函數或者用戶自定義函數,甚至是靜態方法。