<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 模型 >模型(Model) - 程序員編寫程序應有的功能(實現算法等等)、數據庫專家進行數據管理和數據庫設計(可以實現具體的功能). 在 `MVC` 組件的互動中, `模型(Model)` 用于封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法。`Model` 有對數據直接訪問的權力,例如對數據庫的訪問。 `Model` 不依賴 `View` 和 `Controller`,也就是說, `Model` 不關心它會被如何顯示或是如何被操作. 但是 `Model` 中數據的變化一般會通過一種刷新機制被公布。為了實現這種機制,那些用于監視此 `Model` 的 `View` 必須事先在此 `Model` 上注冊,從而,View 可以了解在數據 `Model` 上發生的改變。 (比較:觀察者模式 (軟件設計模式)) 在本書中,主要使用 `Think-ORM` 與數據庫進行交互. ## 創建 模型文件 鍵入命令: ~~~~ shell /* make:model 創建 模型文件 */ php think make:model user/User ~~~~ 完成后,打開新建的 模型文件 `application/user/model/User.php`: 可以看到默認生成的 模型文件 已經為我們創建好了 命令空間、繼承 等操作. ## 約定成俗的 表名 在實際的模型處理當中,`Think-ORM` 會根據 模型文件名 自動找到 表名 進行操作. 默認情況下,會使用類的「下劃線命名法」與「復數形式名稱」來作為數據表的名稱生成規則。如: * User 對應 users 表 * BlogList 對應 blog_list 表 因此 `Think-ORM` 將會假設模型儲存在對應的表中,如果你需要手動指定數據表,可以通過 `$table` 來指定: ~~~~ php /* 指定 auths 表 */ protected $table = 'auths'; ~~~~ ## 約定編程 >約定編程(convention over configuration),是一種軟件設計范式,旨在減少軟件開發人員需做決定的數量,獲得簡單的好處,而又不失靈活性. 本質是說,開發人員僅需規定應用中不符約定的部分。例如,如果模型中有個名為 `Sale` 的類,那么數據庫中對應的表就會默認命名為 `sales`,只有在偏離這一約定時,例如將該表命名為 `products_sold`, 才需寫有關這個名字的配置. 如果您所用工具的約定與你的期待相符,便可省去配置;反之,你可以配置來達到你所期待的方式.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看