中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

thinkphp筆記二

發布時間:2020-06-19 18:41:54 來源:網絡 閱讀:555 作者:菜鳥不菜么 欄目:數據庫

1.控制器創建原則:

基本原則:根據功能,原則上一個功能項對應控制器中的一個動作

可能多個功能共享一個動作添加和修改比較接近,根據條件來選擇添加還是修改

可能需要輔助方法完成一個動作

基本原則:根據功能,按照數據表結構進行劃分控制器類

基本原則,項目包含多個不同用戶角色的功能,如果不區分模塊,可能會導致控制器重名,影響代碼閱讀,按照不同角色功能劃分不同模塊

是否有必要創建模塊

控制器文件如何分類

控制器動作如何制定

2.視圖文件的架設

       靜態資源文件

              組成:圖片 css JavaScript

              文件目錄:public/子目錄

       布局文件

              組成:頁面頭部,尾部,面包屑,正文

              目錄:模塊目錄/view/

       視圖文件

              一般原則:控制器中的一個方法對應一個視圖文件

3.數據庫模型基本使用

       連接數據庫

              使用配置文件

              傳入參數形式

       實例化數據庫操作對象

              使用new Model()創建

              使用M()函數創建

       執行SQL原生查詢

              Query() 方法

              Dump()函數測試結果

4.數據庫基本操作

    字符串查詢

        $table = M('tableName');

        $results = $table -> where('id > 3')->select();

    關聯數組查詢

        $condition['id'] = array('neq','3');

        $condition['uid'] = array('neq','1');

        $results = $table -> where($conditon) -> select();

    魔術方法查詢

        $results = $table -> getById('1');//只能獲取指定條件的第一條記錄

    統計數據

        $count = $table -> count();//統計表中數據

        $count = $table ->max('id');

    limit

        $limit = $table -> limit(3) -> select();//前三條記錄

        $limit = $table -> limit(2,2) -> select();//第三條記錄開始查詢兩個

    order排序

        $order = $table -> order('id desc') ->select();//id降序排列

       創建和插入數據

              Create():在內存中創建數據,不寫入數據庫,過濾掉無效字段(表中沒有的字段)

工作流程:1.獲取數據(POST參數或者用戶傳入的數據)2.進行數據校驗3.把傳入的數據放到當前對象的data屬性中

參數:1.若沒有參數,表示插入$_POST[]數據2.可以傳入關聯數組數據3.可以傳入標準對象數據

      Model::MODEL_INSERT     Model::MODELUPDATE

返回值:創建好的數據對象組

可以直接為Model對象添加屬性或修改屬性,以實現添加內存數據的目的

              Data():基本同create(),不進行數據校驗

              Add():把內存中的數據插入到表中

1沒有參數,直接使用MODEL對象的data屬性(create()data()方法返回)

2附加條件

3是否覆蓋標識(是否覆蓋已經存在的主鍵數據)

4可以直接過濾掉數據表中不存在的字段

5直接使用add(),不會進行數據校驗

//寫入數據前進行校驗

                if($this -> create($data))

{

return $this-> add();

}



       讀取數據

              Select():1不傳參查詢表中所有記錄2.傳一個參數select(1)主鍵為1的記錄3.select(1,3,5)返回主鍵為135的記錄4傳入false返回當前查詢的語句

              Find():查詢一條記錄,不傳入參數獲取第一條記錄,find(1)返回主鍵為1的記錄

              getField():只傳入一個參數,獲取第一條記錄的值

              where條件:1傳入字符串 2傳入數組或者對象,可以過濾掉非法字符。

              limit()limit(1)1.獲取指定條件的1條記錄 limit(2,2)獲取從第一個參數開始的2條記錄

              order():按照指定字段對記錄進行排序,單字段排序和多字段排序

 

       刪除數據:刪除成功返回刪除的個數,失敗返回false

              $db = M(‘msgs’);

              $results = $db –> where(‘id = 1’)-> delete();//刪除id為1的記錄

              $results = $db –> where(‘1’)-> delete();//刪除所有記錄

              $results = $db -> delete();//不傳參數返回false

              $results = $db -> delete('1,3,5')//刪除主鍵為135的記錄

       修改數據:更新指定條件的數據

       $data['name'] = "張三";

       $results = $db -> where('id = 1') -> save($data)

              若傳參,表示更新后要滿足的效果

              若不傳參,表示使用當前數據表操作對象data屬性中的記錄

更新條件,可以使用where顯示指明更新條件,若無更新條件,save()參數中的記錄包含主鍵,更新主鍵對應的記錄,否則不更新。更新成功返回更新的記錄數,更新失敗,返回false

setField:更新個別字段的值

setInc setDec

5.模型操作類

       作用:MVC分離相對徹底,邏輯清晰,適合分工合作,方便實現一些特性的效果(過濾,驗證,自動完成)

       創建模型類:

              文件名:數據表名Model.class.php

              目錄:模塊/model/目錄

              類名:class 數據表名Model  extends Model

              可選屬性:tablePrefixtableName trueTableName dbName _validate(自動驗證規則) _auto(自動完成規則)

              添加方法用來實現業務邏輯

              使用:new方法  D()函數

6.ActivRecord

       表映射到類,記錄映射到對象

       ORM模型:對象關系映射模型


7.session處理

    

    初始化:無需手動調用,除非有特殊需要的時候

    設置值:session(鍵,值);

    獲取值:session(鍵);

    刪除值:session(鍵,null);

    判斷值是否存在:session(?鍵);

    模板中使用session:判斷session狀態 輸出session值   

    

    控制器中輸出session  dump($_SESSION);

    

    present標簽用于判斷某個變量是否已經定義 

   <present name="Think.session.loginedUser">
   歡迎您,{$Think.session.loginedUser}! | <a href="/user/logout">注銷</a>
   <else />
   您尚未登錄(<a  href='/home/user/login/'>登錄</a>)&nbsp;
   還沒有用戶名(<a href='/home/user/register/'>注冊</a>)
   </present>
   
8.分頁 
    頁面跳轉 <input type="submit" onclick="window.location.href='/home/msg/addmsg/';" value="添加一個新討論話題">
    
    分頁本質是:limit查詢 sql語句:select * from msg offset size//從offset開始的size條記錄  分頁鏈接 /home/msg/index/page/1

             

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

久治县| 镇原县| 肥乡县| 宣威市| 广元市| 交城县| 睢宁县| 桐城市| 永丰县| 张家港市| 常熟市| 蓝田县| 南川市| 三亚市| 洱源县| 陆川县| 兰溪市| 沧州市| 建始县| 新龙县| 昌图县| 壤塘县| 买车| 明星| 临汾市| 绩溪县| 龙门县| 长寿区| 古蔺县| 义马市| 临武县| 丰城市| 尼玛县| 霍城县| 海门市| 广河县| 仁化县| 焉耆| 东乌珠穆沁旗| 开封县| 固安县|