ThinkPHP3 2基礎知識(三)

2022-09-04 12:57:12 字數 3177 閱讀 7803

//

開啟除錯模式 建議開發階段開啟 部署階段注釋或者設為false

開啟除錯模式的用處:方便及時發現隱患問題和分析、解決問題。

空操作:

<?php

namespace home\controller;

usethink\controller;

class citycontroller extends

controller

//注意 city方法 本身是 protected 方法

protected

function city($name)

空控制器:

<?php 

namespace home\controller;

usethink\controller;

class emptycontroller extends

controller

//注意 city方法 本身是 protected 方法

protected

function city($name

)}

前置操作:_before_操作名           後置操作:_after_操作名

例子:

<?php 

namespace home\controller;

usethink\controller;

class indexcontroller extends

controller

public

function

index()

//後置操作方法

public

function

_after_index()

}

protected

$_validate=array

(

array('password','require','密碼不能為空!'),

array('password','/^[a-za-z0-9]$/','密碼不能小於六位!',0,'regex',3),

)

3種查詢方式:字串、陣列、物件

8種查詢方法:表示式查詢、快捷查詢、區間查詢、組合查詢、統計查詢、子查詢、sql查詢、動態查詢

$where['name']  = array('like', '%thinkphp%');

$where['title'] = array('like','%thinkphp%');

$where['_logic'] = 'or';

$map['_complex'] = $where

;$map['id'] = array('gt',1);

where       用於查詢或者更新條件的定義      字串、陣列和物件

join           用於對查詢的join支援                   字串和陣列

union        用於對查詢的union支援               字串、陣列和物件

scope       用於命名範圍                                字串、陣列

bind         用於資料繫結操作                         陣列或多個引數

通過類的命名空間自動定位到類庫檔案

1.htmlspecialchars:把一些預定義的字元轉換為 html 實體.

使用語法:string:必需。規定要轉換的字串。

quotestyle:可選。規定如何編碼單引號和雙引號。

character-set:可選,字串值,規定要使用的字符集。

例子:

2.strip_tags:剝去 html、xml 以及 php 的標籤。

語法:strip_tags(string,allow)

string:必需。規定要檢查的字串。

allow:可選。規定允許的標籤。這些標籤不會被刪除。

例子:

<?php 

echo

strip_tags("helloworld!");

?>

輸出:hello world!

模型中寫入的過濾方法:

$this->data($data)->filter('strip_tags')->add();

字串:$this-assign('show',$show);

陣列:$this-assign($arr);

'tmpl_l_delim'    =>    '

字串:<>

陣列:<>

物件:<>  或  <>

protected  $patchvalidate = true;

d('表名')->geterror();

1.查詢條件盡量使用陣列方式,這是更為安全的方式;

2.如果不得已必須使用字串查詢條件,使用預處理機制;

3.使用自動驗證和自動完成機制進行針對應用的自定義過濾;

4.如果環境允許,盡量使用pdo方式,並使用引數繫結。

查詢條件預處理:

model->where("id=%d and username='%s' and xx='%f'",array($id,$username,$xx))->select();

$model->where("id=%d and username='%s' and xx='%f'",$id,$username,$xx)->select();

是php處理圖形的擴充套件庫

ThinkPHP框架基礎知識三

一 js檔案與css檔案存放位置 其實js與css檔案放在任意位置都可以找到,只要路徑正確就行。在tp框架中我們訪問的所有檔案都要走入口檔案index.php,相當於訪問的是index.php頁面。在模板檔案中用到js與css檔案,不能直接從模板檔案去找,而是從index.php開始找相應的js與c...

ThinkPHP3 2 驗證隨記

自動完成 靜態方式 在模型類裡面通過 auto屬性定義處理規則。動態方式 使用模型類的auto方法動態建立自動處理規則。自動驗證 靜態方式 在模型類裡面通過 validate屬性定義驗證規則。動態方式 使用模型類的validate方法動態建立自動驗證規則。定義格式為 array array 驗證欄位...

THINKPHP3 2命名空間

thinkphp3.2命名空間 3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。由於新版完全採用了命名空間的特性,因此只需要給類庫正確定義所在的命名空間,而命名空間的路徑與類庫檔案的目錄一致,那麼就可以實現類的自動載入。例如,...