激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - ThinkPHP實例化模型的四種方法概述

ThinkPHP實例化模型的四種方法概述

2020-07-25 16:59PHP教程網(wǎng) PHP教程

這篇文章主要介紹了ThinkPHP實例化模型的四種方法,有著非常廣泛的實用價值,需要的朋友可以參考下

本文講述了ThinkPHP實例化模型的四種方法,對于ThinkPHP程序設(shè)計來說有非常重要的應(yīng)用。具體如下:

1、創(chuàng)建一個基礎(chǔ)模型:實例化一個系統(tǒng)自帶的數(shù)據(jù)庫操作類

   Test.Model.class.php頁面代碼如下:

?
1
2
3
class TestModel extends Model{
 
}

   UserAction.class.php頁面代碼如下:

?
1
2
3
4
5
6
function test(){
  $test=M('test');//表示實例化的是自帶的Model類,并且傳入test值表示操作的是test表
  //等同于$test=new TestModel();
  $test=$test->select();
  print_r($test);//輸出test表中所有數(shù)據(jù)
}
 

2、實例化一個自定義模型

   如果數(shù)據(jù)庫操作比較復(fù)雜,就需要在自定義的Model類中添加一些自定義的數(shù)據(jù)庫操作方法

   UserModel.class.php頁面代碼如下:

?
1
2
3
4
5
6
class UserModel extends Model{
  function pyj(){
    echo 'pengyanjie';
    //其它的一些數(shù)據(jù)庫操作方法
  }
}

   UserAction.class.php頁面代碼如下:

?
1
2
3
4
5
function user(){
  $user=D('User');//實例化自定義的數(shù)據(jù)庫操作類
  //等同于$user=new UserModel();
  $user->pyj();//調(diào)用User模型中的pyj方法
}

   或者,你需要實例化一個表,同時呢,實例化一個自己寫的自定義的數(shù)據(jù)庫操作類,代碼如下:

?
1
2
3
4
5
6
7
function love(){
  $love=M('test','UserModel'); 
  //$love=new UserModel('test');
  $list=$love->select();
  dump($list);
  $love->pyj();
}

3、實例化一個用戶模型

   UserAction.class.php頁面代碼如下:

?
1
2
3
4
5
6
function user(){
  $user=new UserModel();//等同于$user=D('User');
  $list=$user->select();
  dump($list);
  echo $user->aa();
}

   UserModel.class.php頁面代碼如下:

   該類名user與表名user相對應(yīng),所以在UserAction中實例化這個模型的時候就不需要再額外的傳表名了,代碼如下:

?
1
2
3
4
5
class UserModel extends Model{
  function aa(){
    echo 'pengyanjie';
  }
}

  這個第三種實例化模型方法與第二種的區(qū)別在于:在你的業(yè)務(wù)邏輯當(dāng)中,通常情況下會有一些公共的業(yè)務(wù)邏輯,那你用第二種M('表名','模型名');如M('user','CommonModel')會更方便;

  第三種實例化模型方法適于于針對所操作表的更加復(fù)雜的業(yè)務(wù)邏輯,但是它不需要使用到公共業(yè)務(wù)邏輯。(它的業(yè)務(wù)邏輯,針對用戶表,它是唯一的,并且不需要在其它模型當(dāng)中使用)。

4、實例化一個空模型,它并不知道你要實例化操作時用到的是哪張表。

?
1
2
3
$user=new Model();//等價與$user=M();
$list=$user->query('select * from think_user'); //使用傳統(tǒng)的sql語句的方式,如果這樣的話,就必須要加表前綴
dump($list);

附:$user=new UserModel();與$user=D('user');的區(qū)別:

(1)、D方法可以自動檢測模型類,不存在時,它會拋出一個異常。同時對于已實例化過的模型,不會去重復(fù)實例化。默認(rèn)的D方法,只能應(yīng)用于當(dāng)前項目下面的模型。

(2)、如果說,我這是前臺應(yīng)用,但是我想實例化后臺項目的模型可以用D搞定。

?
1
$user=D('admin','user');//會去自動找admin分組下的user模型類

或者:

?
1
$user=D('admin.user');

 希望本文所述實例對大家ThinkPHP程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 日本不卡一区在线观看 | 国产精品18久久久久久久 | 日本xxxx色视频在线观看免费, | 水多视频在线观看 | 亚洲成人精品视频 | 日日狠狠久久偷偷四色综合免费 | 久久久久久久久亚洲精品 | 红杏亚洲影院一区二区三区 | 国产乱淫a∨片免费观看 | 91av99| 午夜影视一区二区 | 72pao成人国产永久免费视频 | 成人店女老板视频在线看 | free korean xxxxhd | 欧美极品欧美精品欧美视频 | 成人午夜高清 | 在线播放一级片 | 日本在线播放一区二区三区 | 91九色精品国产 | 精品亚洲一区二区三区 | 国产免费一区二区三区 | 亚洲综合91 | 久久影院一区二区三区 | 免费黄色入口 | 欧美人成在线视频 | 一级大片一级一大片 | 国产视频软件在线 | 欧美一级片一区 | 蜜桃一本色道久久综合亚洲精品冫 | 久久国产精品久久久久久久久久 | 久久艹综合 | 亚洲视屏| 在线成人免费视频 | 久久久久久久久成人 | 成人免费视频 | 精品一区二区三区在线播放 | 一区二区三级视频 | 国产深夜福利视频在线播放 | 久久久久北条麻妃免费看 | 久草视频国产在线 | 久久人人av |