久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔
站長百科 | 數(shù)字化技能提升教程 數(shù)字化時代生存寶典
首頁
數(shù)字化百科
電子書
建站程序
開發(fā)
服務器
辦公軟件
開發(fā)教程
服務器教程
軟件使用教程
運營教程
熱門電子書
WordPress教程
寶塔面板教程
CSS教程
Shopify教程
導航
程序頻道
推廣頻道
網(wǎng)賺頻道
人物頻道
網(wǎng)站程序
網(wǎng)頁制作
云計算
服務器
CMS
論壇
網(wǎng)店
虛擬主機
cPanel
網(wǎng)址導航
WIKI使用導航
WIKI首頁
最新資訊
網(wǎng)站程序
站長人物
頁面分類
使用幫助
編輯測試
創(chuàng)建條目
網(wǎng)站地圖
站長百科導航
站長百科
主機偵探
IDCtalk云說
跨境電商導航
WordPress啦
站長專題
網(wǎng)站推廣
網(wǎng)站程序
網(wǎng)站賺錢
虛擬主機
cPanel
網(wǎng)址導航專題
云計算
微博營銷
虛擬主機管理系統(tǒng)
開放平臺
WIKI程序與應用
美國十大主機
編輯“
ThinkPHP開發(fā)指南-模型之定義和實例化
”
人物百科
|
營銷百科
|
網(wǎng)賺百科
|
站長工具
|
網(wǎng)站程序
|
域名主機
|
互聯(lián)網(wǎng)公司
|
分類索引
跳轉至:
導航
、?
搜索
警告:
您沒有登錄。如果您做出任意編輯,您的IP地址將會公開可見。如果您
登錄
或
創(chuàng)建
一個賬戶,您的編輯將歸屬于您的用戶名,且將享受其他好處。
反垃圾檢查。
不要
加入這個!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>導航:</strong>[[ThinkPHP開發(fā)指南-模型|上一頁]]</span> <div style="clear:both;"></div> 在[[ThinkPHP]]2.0版本中,可以無需進行任何模型定義。只有在需要封裝單獨的業(yè)務邏輯的時候,模型類才是必須被定義的,因此ThinkPHP在模型上有很多的靈活和方便性,讓你無需因為表太多而煩惱。 根據(jù)不同的模型定義,我們有幾種實例化模型的方法,下面來分析下什么情況下用什么方法: *實例化基礎模型(Model) 類 在沒有定義任何模型的時候,我們可以使用下面的方法實例化一個模型類來進行操作: '''PHP代碼''' <pre> $User = new Model('User'); </pre> 或者使用M快捷方法實例化是等效的 '''PHP代碼''' <pre> $User = M('User'); $User->select(); // 進行其他的數(shù)據(jù)操作 </pre> 這種方法最簡單高效,因為不需要定義任何的模型類,所以支持跨項目調(diào)用。缺點也是因為沒有自定義的模型類,因此無法寫入相關的業(yè)務邏輯,只能完成基本的CURD操作。 *實例化其他模型類 第一種方式實例化因為沒有模型類的定義,因此很難封裝一些額外的邏輯方法,不過大多數(shù)情況下,也許只是需要擴展一些通用的邏輯,那么就可以嘗試下面一種方法。 M方法默認是實例化Model類,如果需要實例化其他模型類,可以使用 '''PHP代碼''' <pre> $User = M('User', 'CommonModel'); </pre> 上面的方法等效于 '''PHP代碼''' <pre> $User = new CommonModel('User'); </pre> 因為系統(tǒng)的模型類都能夠自動加載,因此我們不需要在實例化之前手動進行類庫導入操作。模型類commonModel必須繼承Model,如果沒有定義別名導入的話,需要放在項目Model下。我們可以在CommonModel類里面定義一些通用的邏輯方法,就可以省去為每個數(shù)據(jù)表定義具體的模型類,如果你的項目已經(jīng)有超過100個數(shù)據(jù)表了,而大多數(shù)情況都是一些基本的CURD操作的話,只是個別模型有一些復雜的業(yè)務邏輯需要封裝,那么第一種方式和第二種方式的結合是一個不錯的選擇。 *實例化用戶定義的模型(×××Model)類 這種情況是使用的最多的,一個項目不可避免的需要定義自身的業(yè)務邏輯實現(xiàn),就需要針對每個數(shù)據(jù)表定義一個模型類,例如UserModel 、InfoModel等等。 定義的模型類通常都是放到項目的LibModel目錄下面。例如, '''PHP代碼''' <pre> class UserModel extends Model{ Public function myfun(){ // 添加自己的業(yè)務邏輯 // ……… } } </pre> 其實模型類還可以繼承一個用戶自定義的公共模型類,而不是只能繼承Model類。要實例化自定義模型類,可以使用下面的方式: '''PHP代碼''' <pre> $User = new UserModel(); </pre> 或者使用D快捷方法實例化是等效的 '''PHP代碼''' <pre> $User = D('User'); $User->select(); // 進行其他的數(shù)據(jù)操作 </pre> D方法可以自動檢測模型類,不存在時系統(tǒng)會拋出異常,同時對于已實例化過的模型,不會重復去實例化。默認的D方法只能支持調(diào)用當前項目的模型,如果需要跨項目調(diào)用,需要使用: '''PHP代碼''' <pre> $User = D('User', 'Admin'); // 實例化Admin項目下面的User模型 $User->select(); </pre> 如果啟用了模塊分組功能,可使用: '''PHP代碼''' <pre> $User = D('Admin.User'); </pre> *實例化空模型類 如果你僅僅是使用原生[[SQL]]查詢的話,不需要使用額外的模型類,實例化一個空模型類即可進行操作了,例如: '''PHP代碼''' <pre> $Model = new Model(); </pre> // 或者使用M快捷方法實例化是等效的 '''PHP代碼''' <pre> <pre> $Model = M(); $Model->query('SELECT * FROM think_user where status=1'); </pre> 空模型類也支持跨項目調(diào)用。 [[category:ThinkPHP]]
摘要:
請注意,您對站長百科的所有貢獻都可能被其他貢獻者編輯,修改或刪除。如果您不希望您的文字被任意修改和再散布,請不要提交。
您同時也要向我們保證您所提交的內(nèi)容是您自己所作,或得自一個不受版權保護或相似自由的來源(參閱
Wordpress-mediawiki:版權
的細節(jié))。
未經(jīng)許可,請勿提交受版權保護的作品!
取消
編輯幫助
(在新窗口中打開)
取自“
http://www.kktzf.com.cn/wiki/ThinkPHP開發(fā)指南-模型之定義和實例化
”