程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> thinkphp開發技巧總結

thinkphp開發技巧總結

編輯:關於PHP編程

使用thinkphp做開發的過程中的一些技巧總結,以後發現了還會繼續補充,也歡迎更多的朋友在下面留言補充。

(1)不要在模板中直接使用{$_GET.id}或者{$Think.get.id},因為{$_GET.id} {$Think.get.id} 這兩種方式都沒有任何過濾,容易被XSS。建議使用I方法,即:{:I('get.id')}

(2)在thinkphp中如果需要獲取數據庫中某個表的字段該怎麼辦呢?示例如下:

$user=M('user');
$fields=$user->getDbFields();

結果將返回一個由表字段組成的一個一維數組。

(3)數據修改的過程中如果我們只需要修改某個字段的值,就可以使用setField方法,而不需要每次都調用save方法,例如:

$user=M('user');
$user->where('id=2')->setField('username','www.phpernote.com');

(4)涉及到比較的情況下不一定非得使用if condition這種形式的,還可以按如下的形式來寫:

<eq name="web" value="phpernote">value</eq> // name 變量的值等於 phpernote 就輸出
<neq name="web" value="phpernote">value</neq> // name 變量的值不等於 phpernote 就輸出
<gt name="age" value="5">value</gt> // name 變量的值大於 5 就輸出
<egt name="age" value="5">value</egt> // name 變量的值大於等於 5 就輸出
<lt name="age" value="5">value</lt> // name 變量的值小於 5 就輸出
<elt name="age" value="5">value</elt> // name 變量的值小於等於 5 就輸出

(5)在thinkphp的刪除操作中可以不使用where直接使用delete來執行刪除,例如:

$User->delete('2,5');//刪除主鍵為2和5的數據

(6)關於thinkphp的幾個快速操作的函數的用法說明。

C操作,操作(動態)配置: 主要用於Action方法裡面

獲取:C('配置參數')

設置:C('配置參數 ',新值)

A操作,快速創建Action對象:

$action=A('User'); 等效於 $action=new UserAction();

D操作,快速創建模型數據對象:

$model=D('User'); 等效於 $model=new UserModel();

S操作,快速操作緩存方法

獲取:S('name')

設置:S('name','value');

刪除:S('name',NULL);

F操作,快速文件數據保存方法,使用方法與S操作一樣。

(7)Model命名時,默認要和數據庫裡的表名一致,如PhpernoteUserModel.class.php對應數據庫的名稱應該是 '前綴_phpernote_user',在程序代碼中的調用應該是:D('PhpernoteUser');

(8)開發的過程中如不需要進行緩存,可以在入口文件中進行如下定義:

define('NO_CACHE_RUNTIME',true);

(9)在開發的過程中如果需要知道一些額外的信息,可在配置文件中進行相應的定義,下面給出幾個比較常見的信息定義方式:

'SHOW_RUN_TIME'=>true,//運行時間顯示
'SHOW_ADV_TIME'=>true,//顯示詳細的運行時間
'SHOW_DB_TIMES'=>true,//顯示數據庫的操作次數
'SHOW_CACHE_TIMES'=>true,//顯示緩存操作次數
'SHOW_USE_MEM'=>true,//顯示內存開銷

(10)自定義Model類並在實例化模型(模型就是數據庫操作類)時使用,舉例如下:

a、在工程目錄下的Lib目錄下的Model目錄下建立一個IndexModel.class.php,然後裡面寫一個方法play,此方法內容體為循環輸出1至10。

b、那麼在Action中的方法裡,還可以這麼寫:

$index=M('index','IndexModel');//這裡可以加上自定義的模型類一起實例化
$index->play();

那麼會輸出1至10。

(11)使用thinkphp的過程中如果需要更改默認的模板後綴名,可以在配置文件中做如下定義:

'TMPL_TEMPLATE_SUFFIX' => '.dwt'//這裡就將模板後綴名改為了dwt

您可能感興趣的文章

  • ThinkPHP中的查詢技巧總結
  • Thinkphp 內部函數 ADSLCFUI 快捷方法全解析
  • thinkphp打印最後一條sql語句
  • thinkphp模板中判斷volist循環的最後一條記錄
  • Thinkphp 模板中常用的系統變量總結
  • PHP實現MVC開發得最簡單的方法,模型的思考
  • thinkphp自動驗證與自動填充無效的解決辦法
  • thinkphp關閉緩存的方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved