thinkphp開發技巧總結_PHP教程

來源:互聯網
上載者:User
使用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這種形式的,還可以按如下的形式來寫:

value // name 變數的值等於 phpernote 就輸出value // name 變數的值不等於 phpernote 就輸出value // name 變數的值大於 5 就輸出value // name 變數的值大於等於 5 就輸出value // name 變數的值小於 5 就輸出value // 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關閉緩衝的方法

http://www.bkjia.com/PHPjc/764116.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/764116.htmlTechArticle使用thinkphp做開發的過程中的一些技巧總結,以後發現了還會繼續補充,也歡迎更多的朋友在下面留言補充。 (1)不要在模板中直接使用...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.