亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

YII數據流程淺析

2020-03-22 20:09:13
字體:
來源:轉載
供稿:網友
  • MVC就不解釋,直接上代碼分析數據流程:

    數據庫圖:


    模型部分介紹:

    <?php        /*         * 前兩個方法必須寫         * 繼承自CActiveRecord類 這個類位于 /framework/db/ar/CActiveFinder.php 這個路徑下         * 它包含了常用查詢方法          */	html' target='_blank'>class Goods extends CActiveRecord{		public static function model($classname = __CLASS__){			//返回當前模型對象方法			return parent::model($classname);		}		//返回數據表名稱		public function tableName(){			return '{{goods}}';		}                //對應標簽名字 對漢字名字進行統一管理                function attributeLabels() {                    //parent::attributeLabels();                    return array(                        'goods_name' => '商品名稱:',                        'goods_weight' => '商品重量',                        'goods_price' => '商品價格',                        'goods_category_id' => '商品分類',                        'goods_brand_id' => '品牌',                        'goods_introduce' => '簡介',                        'goods_number' => '數量',                    );                }                	}?>

    </pre><p></p><p>CActiveRecord這個類下很多操作數據庫方法:</p><p><img src="http://img.blog.csdn.net/20141018110648181?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnV5aW5nZmVpODg4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p></p><p>控制器代碼部分解析:這個控制器寫在houtai模塊中,卻可以調用前臺模塊中模型,可見代碼有很高重用性。</p><p></p><pre name="code" class="php"><?php	class GoodsController extends Controller{		function actionShow(){			$goods_model = Goods::model(); //簡單查詢可以通過模型里面靜態方法來創建			$sql = "select goods_name,goods_price,goods_create_time from {{goods}} limit 10";                        $goods_infos = $goods_model ->findAllBySql($sql);//通過原生態sql進行查詢,findALlBySql返回一個對象數組,                         var_dump($goods_infos);			foreach($goods_infos as $v){				echo $v ->goods_name ."<br />";			}                        exit();			$this->render('show',array("goods_infos"=>$goods_infos)); //這種方式會渲染布局                        //$this->renderPartial('add',array('goods_model' => $goods_model)); //這種方式不會渲染布局		}}

    findAllBySql($sql)數據分析:


    通過這個URL訪問的部分views代碼:

                <table class="table_a" border="1" width="100%">                <tbody><tr style="font-weight: bold;">                        <td>序號</td>                        <td>商品名稱</td>                        <td>庫存</td>                        <td>價格</td>                        <td>圖片</td>                        <td>縮略圖</td>                        <td>品牌</td>                        <td>創建時間</td>                        <td align="center">操作</td>                    </tr>                    <?php                          $i=1;                        foreach($goods_infos as $_v){                    ?>                    <tr id="product1">                        <td><?php echo $i++;?></td>                        <td><a href="#">蘋果(APPLE)iPhone 4S<?php echo $_v->goods_name;?></a></td>                        <td><?php echo $_v->goods_number;?></td>                        <td><?php echo $_v->goods_price ;?></td>                        <td><img src="<?PHP ECHO HOUTAI_IMG_URL ;?><?php  echo $_v->goods_big_img;?>" height="60" width="60"></td>                        <td><img src="<?PHP ECHO HOUTAI_IMG_URL ;?><?php echo $_v->goods_small_img;?>" height="40" width="40"></td>                        <td><?php echo $_v->goods_brand_id;?></td>                        <td><?php echo $_v->goods_create_time;?></td>                        <td><a href="./index.php?r=houtai/goods/update">修改</a></td>                        <td><a href="javascript:;" onclick="delete_product(1)">刪除</a></td>                    </tr>                    <?php                                                                             }                    ?>                                       <tr>                        <td colspan="20" style="text-align: center;">                            [1]                        </td>                    </tr>                </tbody>            </table>

    數據傳遞關系:


    通過widget小物件完成表單注冊解析:

    剛才那個控制器里面加入下面方法:

    		function actionAdd(){                    $goods_model = new Goods();                    $this->renderPartial('add',array('goods_model' => $goods_model));		}

    模型還是剛才那個模型;

    views:

    <?php $form =  $this ->  beginWidget("CActiveForm");?><!-- 調用了  CActiveForm 類      怎樣查找CActiveForm類,在/framework/yiilite.php 里查找,這個文件10000多行,可見yii核心代碼就是這么多行      通過這個在找到 CActiveForm所在文件   CActiveForm.php包含了很多方法。就是對表單元素操作-->            <table border="1" width="100%" class="table_a">                <tr><!--                    <td>商品名稱</td>--><!--                    <td><input type="text" name="f_goods_name" /></td>-->                    <td><?php echo $form->labelEx($goods_model,'goods_name');?></td>                    <td><?php echo $form -> textField($goods_model,'goods_name');?></td>                </tr>                 <tr>                                  <td><?php echo $form->labelEx($goods_model,'goods_weight');?></td>                   <td> <?php echo $form -> textField($goods_model,'goods_weight');?></td>                </tr>                 <tr>                                  <td><?php echo $form->labelEx($goods_model,'goods_price');?></td>                   <td> <?php echo $form -> textField($goods_model,'goods_price');?></td>                </tr>                <tr>                                  <td><?php echo $form->labelEx($goods_model,'goods_number');?></td>                   <td> <?php echo $form -> textField($goods_model,'goods_number');?></td>                </tr>                <tr>                                  <td><?php echo $form->labelEx($goods_model,'goods_category_id');?></td>                   <td> <?php echo $form -> textField($goods_model,'goods_category_id');?></td>                </tr>                 <tr>                                  <td><?php echo $form->labelEx($goods_model,'goods_brand_id');?></td>                    <td><?php echo $form -> textField($goods_model,'goods_brand_id');?></td>                </tr>                <tr>                                  <td><?php echo $form->labelEx($goods_model,'goods_introduce');?></td>                    <td><?php echo $form -> textArea($goods_model,'goods_introduce',array('cols' => 20,"rows" => 5));?></td>                </tr>            </table>            <?php $this->endWidget();?>


    可以看下CActiveForm 類(/framework/web/widgets/CActiveForm.php)包含方法:


    上面數據傳遞關系:

    控制器和視圖關系:


    視圖和模型關系:


    視圖和顯示效果:


    簡單過程就這樣啦!

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    亚洲aaaaaa| 欧洲成人免费aa| 国产一区二区三区高清在线观看| 福利一区福利二区微拍刺激| 亚洲最大的成人网| 精品毛片三在线观看| 国产精品电影在线观看| 97高清免费视频| 免费av在线一区| 国产一区二区日韩精品欧美精品| 奇米一区二区三区四区久久| 亚洲综合中文字幕在线观看| 中文字幕日韩专区| 国产午夜精品美女视频明星a级| 日韩亚洲欧美中文高清在线| 揄拍成人国产精品视频| 国产精品一区二区三区毛片淫片| 57pao成人永久免费视频| 久久久久久久久国产| 久久精品国产久精国产一老狼| 国产成人精品综合久久久| 国产欧美日韩最新| 亚洲欧美日韩天堂一区二区| 国产精品日日摸夜夜添夜夜av| 中日韩美女免费视频网址在线观看| 国产一区二区欧美日韩| 91午夜在线播放| 欧美另类xxx| 热99精品只有里视频精品| 亚洲美女又黄又爽在线观看| 亚洲欧美综合v| 亚洲深夜福利视频| 久久香蕉国产线看观看av| 欧美伦理91i| 日韩精品久久久久| 亚洲香蕉成视频在线观看| 国产网站欧美日韩免费精品在线观看| 国产精品av在线| 亚洲电影免费观看高清完整版在线观看| 亚洲另类图片色| 青青精品视频播放| 91精品视频在线看| 97国产一区二区精品久久呦| 亚洲精品一区二三区不卡| 欧美成人精品不卡视频在线观看| 欧美日韩亚洲天堂| 日本国产精品视频| 日本高清+成人网在线观看| 欧美丝袜第一区| 亚洲人午夜色婷婷| 久久精品成人一区二区三区| 日韩经典一区二区三区| 欧美裸身视频免费观看| 国内免费久久久久久久久久久| 欧美刺激性大交免费视频| 亚洲欧洲中文天堂| 岛国精品视频在线播放| 伊人av综合网| 欧美老女人bb| 欧美日韩精品中文字幕| 欧美日韩亚洲一区二区| 欧美美女操人视频| 国内精久久久久久久久久人| 91在线直播亚洲| 91欧美视频网站| 亚洲国产精品推荐| 91中文精品字幕在线视频| 亚洲欧美日韩视频一区| 日韩精品欧美激情| 日韩精品免费在线| 成人免费视频xnxx.com| 57pao国产成人免费| 日韩在线激情视频| 中文字幕av一区二区三区谷原希美| 国产91色在线|免| 日本一区二区在线播放| 欧美日韩综合视频| 国产激情999| 国产精品久久久久久久午夜| 91在线视频精品| 亚洲第一精品夜夜躁人人爽| 欧美精品日韩三级| 午夜欧美不卡精品aaaaa| 国内精品久久久久| 精品成人国产在线观看男人呻吟| 91社影院在线观看| 久久99精品久久久久久琪琪| 午夜精品久久久久久久白皮肤| 色琪琪综合男人的天堂aⅴ视频| 日韩av电影在线免费播放| 国产日韩精品在线| 全亚洲最色的网站在线观看| 欧美激情精品久久久久久| 日韩av在线一区二区| 国产在线拍揄自揄视频不卡99| 欧美又大又粗又长| 亚洲日本中文字幕免费在线不卡| 中文字幕日韩免费视频| 久久久久久九九九| 国产精品一区二区三区免费视频| 欧美日韩国产精品一区二区三区四区| 97色在线观看免费视频| 久久久久久av| 欧美午夜精品在线| 亚洲最大福利视频网| 91亚洲精品一区| 91精品综合久久久久久五月天| 亚洲香蕉在线观看| 91精品视频在线播放| 欧美激情videoshd| 日本高清视频精品| 日韩美女在线观看| 久久精品精品电影网| 日韩av在线不卡| 久久久精品视频在线观看| 国产精国产精品| 日韩欧美一区二区在线| 成人黄色av网| 最近2019中文字幕mv免费看| 国产69精品久久久久9| 91超碰中文字幕久久精品| 国产福利精品av综合导导航| 亚洲精品videossex少妇| 日韩精品中文字幕在线观看| 欧美韩国理论所午夜片917电影| 在线观看欧美成人| 亚洲精品视频播放| 欧美专区在线播放| 亚洲午夜小视频| 国产成人一区三区| 日韩精品中文字幕在线播放| 精品无人区太爽高潮在线播放| 久久综合免费视频| 高跟丝袜一区二区三区| 精品久久久久久久久久久久久久| 欧美日韩免费在线观看| 欧亚精品中文字幕| 日韩视频在线免费| 久久精品视频在线播放| 夜夜躁日日躁狠狠久久88av| 在线看欧美日韩| 91中文在线观看| 久久久久久久久久久网站| 国产精品精品视频一区二区三区| 久久久久久伊人| 欧美日韩国产91| 精品福利在线观看| 一级做a爰片久久毛片美女图片| 久久国内精品一国内精品| 欧美极品少妇xxxxⅹ喷水| 亚洲成人动漫在线播放| 日韩视频欧美视频| 日本国产高清不卡| 欧美成人激情视频| 免费97视频在线精品国自产拍| 揄拍成人国产精品视频| 欧洲美女7788成人免费视频| 久久精品电影网站| 亚洲女人天堂色在线7777| 亚洲欧洲日产国码av系列天堂| 色无极亚洲影院| 国产大片精品免费永久看nba| 日韩在线免费高清视频| 青青草国产精品一区二区|