日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

ThinkPHP的易忽视点小结

發(fā)布時間:2025/4/5 php 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ThinkPHP的易忽视点小结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、使用對象的方法插入數(shù)據(jù) D用法。$Form = D('Form'); $data['title'] = 'ThinkPHP'; $data['content'] = '表單內(nèi)容'; $Form->add($data);其實thinkphp還支持對象的方式直接向數(shù)據(jù)庫插入數(shù)據(jù),如下:$Form = D('Form'); $Form->title = 'ThinkPHP'; $Form->content = '表單內(nèi)容'; $Form->add();2、不指定條件對數(shù)據(jù)更新。$Form = M("Form"); // 要修改的數(shù)據(jù)對象屬性賦值 $data['id'] = 5; $data['title'] = 'ThinkPHP'; $data['content'] = 'ThinkPHP3.1版本發(fā)布'; $Form->save($data); // 根據(jù)條件保存修改的數(shù)據(jù) save方法會自動識別數(shù)據(jù)對象中的主鍵字段,并作為更新條件。當(dāng)然,你也可以顯式的傳入更新條件,也就是我們最常用的方法:$Form = M("Form"); // 要修改的數(shù)據(jù)對象屬性賦值 $data['title'] = 'ThinkPHP'; $data['content'] = 'ThinkPHP3.1版本發(fā)布'; $Form->where('id=5')->save($data); // 根據(jù)條件保存修改的數(shù)據(jù) 其實還有對象的方式,就像上面提到的,插入數(shù)據(jù),用對象的方式一樣:$Form = M("Form"); // 要修改的數(shù)據(jù)對象屬性賦值 $Form->title = 'thinkphp'; $Form->content = 'ThinkPHP3.1版本發(fā)布'; $Form->where('id=5')->save(); // 根據(jù)條件保存修改的數(shù)據(jù) 并且,可以將主鍵字段包含在要保存的數(shù)據(jù)里,這樣就可以不需要寫where了$Form = M("Form"); // 要修改的數(shù)據(jù)對象屬性賦值 $Form->id = 5; $Form->title = 'thinkphp'; $Form->content = 'ThinkPHP3.1版本發(fā)布'; $Form->save(); // 根據(jù)數(shù)據(jù)對象中的主鍵保存修改的數(shù)據(jù)3、單個字段值的修改。有些時候,我們只需要修改某個字段的值,就可以使用setField方法,而不需要每次都調(diào)用save方法。$Form = M("Form"); // 更改title值 $Form->where('id=5')->setField('title','ThinkPHP');6、強大的增減字段值運算。thinkphp中,可以對某個字段的數(shù)據(jù)直接執(zhí)行增減操作。對于統(tǒng)計字段,系統(tǒng)還提供了更加方便的setInc和setDec方法。$User = M("User"); // 實例化User對象 $User->where('id=5')->setInc('score',3); // 用戶的積分加3 $User->where('id=5')->setInc('score'); // 用戶的積分加1 $User->where('id=5')->setDec('score',5); // 用戶的積分減5 $User->where('id=5')->setDec('score'); // 用戶的積分減17、不使用where來執(zhí)行刪除。$User->delete('1,2,5'); // 刪除主鍵為1,2和5的用戶數(shù)據(jù)。 這種用法可以用在類似于簽到時候,用戶積分自動增加的例子上。8、打印sql語句echo $User->getLastSql();或者echo $User->_sql();循環(huán)輸出volist 還有別名 iterate模版賦值:$User = D('User') $list = $User->findAll() $this->assign('list',$list)模版定義:<iterate name="list" id="vo"> {$vo.name} </iterate>注意 name 和 id 表示的含義// 輸出 list 的第 5~15 條記錄 <iterate name="list" id="vo" offset="5" length='10'> {$vo.name} </iterate> // 輸出偶數(shù)記錄 <iterate name="list" id="vo" mod="2" > <eq name="mod" value="1"> {$vo.name} </eq> </iterate> // 輸出 key <iterate name="list" id="vo" key="k" > {$k}.{$vo.name} </iterate> //子循環(huán)輸出 <volist name="list" id="vo"> <iterate name="vo['sub']" id="sub"> {$sub.name} </iterate> </volist>Switch 標簽<switch name="name"> <case value="1">value1</case> <case value="2">value2</case> <default />default </switch>其 中 name 屬性可以使用函數(shù)以及系統(tǒng)變量,例如:<switch name="Think.get.userId|abs"> <case value="1">admin</case> <default />default </switch>也 可以對 case 的 value 屬性使用變量,例如:<switch name="userId"> <case value="$adminId">admin</case> <case value="$memberId">member</case> <default />default </switch>比較標簽<eq name="name" value="value">value</eq> // name 變量的值等于 value 就輸出 <neq name="name" value="value">value</neq> // name 變量的值不等于 value 就輸出 <gt name="name" value="5">value</gt> // name 變量的值大于 5 就輸出 <egt name="name" value="5">value</egt> // name 變量的值大于等于 5 就輸出 <lt name="name" value="5">value</lt> // name 變量的值小于 5 就輸出 <elt name="name" value="5">value</elt> // name 變量的值小于等于 5 就輸出 //其實上面的所有標簽都是 compare 標簽的別名 // 其中 type 屬性的值就是上面列出的判斷標簽名稱 <compare name="name" value="5" type="eq">value</compare> // name 變量的值等于 5 就輸出 If標簽<if condition="$name eq 1 "> value1 <elseif condition="$name eq 2" />value2 <else /> value3 </if>C操作操作(動態(tài))配置: 獲取:C('配置參數(shù)')設(shè)置:C('配置參數(shù) ',新值)D操作快速創(chuàng)建模型數(shù)據(jù)對象:$model = D('User');等效于$model = new UserModel();S操作快速操作緩存方法獲取:S('name')設(shè)置:S('name','value');刪 除:S('name',NULL);F操作快速文件數(shù)據(jù)保存方法使用方法與S操作一樣L操作快速操作語言變量獲取:L('語言變量');設(shè)置:L('語言變量','值');如: L('USER_INFO','用戶信息'); //設(shè)置名稱為USER_INFO的語言變量 批量賦值:$arr['語言變量1'] = '值1';$arr['語言變量2'] = '值2';L($arr);ThinkPHP系統(tǒng)常量THINK_PATH // ThinkPHP 系統(tǒng)目錄 APP_PATH // 當(dāng)前項目目錄 APP_NAME // 當(dāng)前項目名稱 MODULE_NAME //當(dāng)前模塊名稱 ACTION_NAME // 當(dāng)前操作名稱 TMPL_PATH // 項目模版目錄 LIB_PATH // 項目類庫目錄 CACHE_PATH // 項目模版緩存目錄 CONFIG_PATH //項目配置文件目錄 LOG_PATH // 項目日志文件目錄 LANG_PATH // 項目語言文件目錄 TEMP_PATH //項目臨時文件目錄 PLUGIN_PATH // 項目插件文件目錄 VENDOR_PATH // 第三方類庫目錄 DATA_PATH // 項目數(shù)據(jù)文件目錄 IS_APACHE // 是否屬于 Apache IS_IIS //是否屬于 IIS IS_WIN //是否屬于Windows 環(huán)境 IS_LINUX //是否屬于 Linux 環(huán)境 IS_FREEBSD //是否屬于 FreeBsd 環(huán)境 NOW_TIME // 當(dāng)前時間戳 MEMORY_LIMIT_ON // 是否有內(nèi)存使用限制 MEMORY_LIMIT_ON // 是否有內(nèi)存使用限制 OUTPUT_GZIP_ON // 是否開啟輸出壓縮 MAGIC_QUOTES_GPC // MAGIC_QUOTES_GPC THINK_VERSION //ThinkPHP 版本號 LANG_SET // 瀏覽器語言 TEMPLATE_NAME //當(dāng)前模版名稱 TEMPLATE_PATH //當(dāng)前模版路徑// 網(wǎng)站根目錄地址 __APP__ // 當(dāng)前項目(入口文件)地址/index/article // 當(dāng)前模塊地址 __ACTION__ // 當(dāng)前操作地址 __SELF__ // 當(dāng)前 URL 地址 TMPL_FILE_NAME //當(dāng)前操作的默認模版名(含路徑) WEB_PUBLIC_URL //網(wǎng)站公共目錄 APP_PUBLIC_URL //項目公共模版目錄 預(yù)定義常量WEB_LOG_ERROR=0 // 錯誤日志類型 WEB_LOG_DEBUG=1 // 調(diào)試日志類型 SQL_LOG_DEBUG=2 // SQL 日志類型 SYSTEM_LOG=0 // 系統(tǒng)方式記錄日志 MAIL_LOG=1 // 郵件方式記錄日志 TCP_LOG=2 // TCP 方式記錄日志 FILE_LOG=3 // 文件方式記錄日志 DATA_TYPE_OBJ=1 // 對象方式返回 DATA_TYPE_ARRAY=0 // 數(shù)組方式返回 URL_COMMON=0 // 普通模式 URL URL_PATHINFO=1 // PATHINFO URL URL_REWRITE=2 // REWRITE URL HAS_ONE=1 // HAS_ONE 關(guān)聯(lián)定義 BELONGS_TO=2 // BELONGS_TO 關(guān)聯(lián)定義 HAS_MANY=3 // HAS_MANY 關(guān)聯(lián)定義 MANY_TO_MANY=4 // MANY_TO_MANY 關(guān)聯(lián)定義 EXISTS_VAILIDATE = 0 // 表單存在字段則驗證 MUST_VALIDATE = 1 // 必須驗證 VALUE_VAILIDATE = 2 // 表單值不為空則驗證

?

總結(jié)

以上是生活随笔為你收集整理的ThinkPHP的易忽视点小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。