<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **1 小試身手** 1 數據庫配置 打開應用目錄的數據庫配置文件 application\database.php 修改數據庫配置為 ~~~ return [ // 數據庫類型 'type' => 'mysql', // 數據庫連接DSN配置 'dsn' => '', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'tp5', // 數據庫用戶名 'username' => 'root', // 數據庫密碼 'password' => 'root', // 數據庫連接端口 'hostport' => '3306', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => 'tp5_', // 數據庫調試模式 'debug' => APP_DEBUG, // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器) 'deploy' => 0, // 數據庫讀寫是否分離 主從式有效 'rw_separate' => false, // 讀寫分離后 主服務器數量 'master_num' => 1, // 指定從服務器序號 'slave_no' => '', ]; ~~~ 基礎修改包括 hostname,hostport,database, username,password,prefix。 2 瀏覽器輸入http://127.0.0.1/ ![](https://box.kancloud.cn/2016-02-24_56cd4dd1e245e.jpg) 點擊箭頭所指phpMyAdmin管理,進入數據庫登錄界面 ![](https://box.kancloud.cn/2016-02-24_56cd4dd210776.jpg) 輸入默認賬號root密碼root,進入數據庫管理界面。 ![](https://box.kancloud.cn/2016-02-24_56cd4dd2284d3.jpg) 創建數據庫tp5與數據表tp5_test ![](https://box.kancloud.cn/2016-02-24_56cd4dd2439f1.jpg) ![](https://box.kancloud.cn/2016-02-24_56cd4dd25f51b.jpg) ![](https://box.kancloud.cn/2016-02-24_56cd4e9837f66.jpg) ![](https://box.kancloud.cn/2016-02-24_56cd4dd2761ab.jpg) 注意這里的數據庫tp5與數據表tp5_test與數據庫配置的對應關系 ~~~ database =>'tp5', prefix =>'tp5_, ~~~ 3 打開目錄D:\upnp5.6\htdocs\tp5\application\index\controller 新建文件Modeltest.php,輸入以下內容 ~~~ <?php namespace app\index\controller; class Modeltest { public function echo_model(){ $Model = M('test'); // tp5框架在App::run()使用Response::send()統一返回客戶端數據 // 因此控制器最后最好使用 return $result; 形式的語句返回數據到App::run() // 這里只是作為學習測試。 dump($Model); } public function add_model(){ $Model = M('test'); $data = [ 'id' =>1, 'name' =>'test_name', 'title' =>'test_title', 'sort' =>1 ]; $result = $Model->add($data); // tp5框架在App::run()使用Response::send()統一返回客戶端數據 // 因此控制器最后最好使用 return $result; 形式的語句返回數據到App::run() // 這里只是作為學習測試。 dump($result); } public function select_model(){ $Model = M('test'); $return1 = $Model->where('id=1')->getField('title'); dump($return1); $return2 = $Model->where('id=1')->find(); dump($return2); $return3 = $Model->where('id=1')->select(); dump($return3); } public function update_model(){ $Model = M('test'); $data = [ 'name' =>'update_name', 'title' =>'update_title' ]; $result = $Model->where('id=1')->save($data); dump($result); } public function delete_model(){ $Model = M('test'); $result = $Model->where('id=1')->delete(); dump($result); } } ~~~ 3 瀏覽器輸入 http://127.0.0.1/tp5/public/index.php/Index/ModelTest/echo_model 由上節可知這里運行Modeltest.php的echo_model()方法。 輸出Model的對象信息 4 瀏覽器輸入 http://127.0.0.1/tp5/public/index.php/Index/ModelTest/add_model 向數據庫添加信息, 返回int(1),表示添加成功 5 瀏覽器輸入 http://127.0.0.1/tp5/public/index.php/Index/ModelTest/select_model 查詢數據庫信息 輸出如下![](https://box.kancloud.cn/2016-02-24_56cd4dd28f1bd.jpg) 6 瀏覽器輸入 http://127.0.0.1/tp5/public/index.php/Index/ModelTest/delete_model 返回int(1)表示刪除成功 再次輸入 http://127.0.0.1/tp5/public/index.php/Index/ModelTest/select_model 返回空值。 7 總結 以上是數據庫的增刪改查的基本操作。 1 修改應用的數據庫配置文件database.php。 2 數據庫后臺添加數據庫與數據表 3 控制器使用M()方法創建$Model對象 4 使用$Model對象的add() find() save() delete()方法實現數據的增刪改查 **2 開發場景** 數據模型用來保存系統信息以及用戶操作信息。 在thinkp框架中可以使用強大的鏈式操作來操作數據庫。 還可以自定義數據模型實現多表操作。 更多操作參考[官方手冊](http://www.hmoore.net/thinkphp/thinkphp5-guide/90122)與[tp3.2的模型](http://www.hmoore.net/thinkphp/thinkphp_quickstart/2142) **3 開發進階** 模塊中自定義模型是在application/index/下建立model目錄。 建立對應模型文件,繼承think\Model, 實現業務數據操作與控制器分離。 具體實現見[官方手冊](http://www.hmoore.net/thinkphp/thinkphp5-guide/90122) **4 框架底層** 1 模型是對數據庫操作的抽象。在thinkphp/helper.php中定義了兩個方法來簡化模型的創建 ~~~ function M($name = '', $tablePrefix = null, $connection = '') { return \think\Loader::table($name, ['prefix' => $tablePrefix, 'connection' => $connection]); } function D($name = '', $layer = MODEL_LAYER) { return \think\Loader::model($name, $layer); } ~~~ 分析可知是調用Loader自動加載器實現模型的實例化 2 Loader自動加載器的實例化操作見 [另:自動加載器實例化](http://www.hmoore.net/zmwtp/tp5/120008)
                  <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>

                              哎呀哎呀视频在线观看