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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] TP入門 === 核心主題 [TOC] -- * ThinkPHP 5版本帶來了哪些新特性,哪些變化? * TP 5為API和多應用端開發帶來了哪些便利? * 實戰ThinkPHP 5的數據庫操作 一、簡單介紹 -- 1、關于Thinkphp ThinkPHP是一個快速、簡單的基于MVC和面向對象的輕量級PHP開發框架,遵循Apache2開源協議發布,從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,尤其注重開發體驗和易用性,并且擁有眾多的原創功能和特性,為WEB應用和API開發提供了強有力的支持。 2、關于MVC(Model-View-Controller)(模式-視圖-控制器) ![](https://box.kancloud.cn/2016-07-17_578ae9427ace5.png) 3、TP 5為API和多應用端開發帶來了哪些便利? ThinkPHP5針對API開發做了很多的優化,并且不依賴原來的API模式擴展。 (1)數據輸出方面 控制器輸出采用Response類統一處理,而不是直接在控制器中進行輸出,通過設置default_return_type或者動態設置不同類型的Response輸出就可以自動進行數據轉換處理,一般來說,你只需要在控制器中返回字符串或者數組即可 (2)錯誤調試方面 由于API開發不方便在客戶端進行開發調試,但ThinkPHP5的Trace調試功能支持Socket在內的方式,可以實現遠程的開發調試。 安裝chrome瀏覽器插件后即可進行遠程調試,詳細參考調試部分。 4、ThinkPHP5的新特性 -- ThinkPHP5.0版本的優勢在于: (1)更靈活的路由; (2)更強大的查詢語法; (3)增強的模型功能; (4)API開發友好; (5)改進的異常機制; (6)遠程調試支持; (7)單元測試支持; (8)命令行工具; (9)Composer支持完善; 二、環境配置 -- [upupw官網](http://www.upupw.net/)下載upupw 1.版本 [Tinkphp官網](http://www.thinkphp.cn/)下載ThinkPHP 5.0 RC4版本 1、upupw環境的基本介紹 Apache版UPUPW面板詳細介紹 ![](https://box.kancloud.cn/2016-07-17_578ae942a0a22.png) 1-添加虛擬主機 即除了默認的主機以外,設置其它獨立的主機并可綁定N個域名,設置網站的路徑等。 2-刪除虛擬主機 即刪除已設立的一個或多個虛擬主機(此設置只是刪除主機配置及綁定的域名,對網站程序沒有影響) 3-修改虛擬主機 即對已經添加的虛擬主機進行域名綁定的添加與刪除等操作。 4-檢測端口狀態 此功能為檢測本機端口使用情況而準備的,可以在啟動全部服務之前先按4鍵進行端口探測,看看80端口和3306端口有沒有被占用,如被占用可關閉端口占用程序或者修改Apache和MySQL端口后啟動。 s1開啟全部服務 s5關閉所有服務 ................. 2、Thinkphp目錄介紹 project 應用部署目錄 ├─application 應用目錄(可設置) │ ├─common 公共模塊目錄(可更改) │ ├─index 模塊目錄(可更改) │ │ ├─config.php 模塊配置文件 │ │ ├─common.php 模塊函數文件 │ │ ├─controller 控制器目錄 │ │ ├─model 模型目錄 │ │ ├─view 視圖目錄 │ │ └─ ... 更多類庫目錄 │ ├─command.php 命令行工具配置文件 │ ├─common.php 應用公共(函數)文件 │ ├─config.php 應用(公共)配置文件 │ ├─database.php 數據庫配置文件 │ └─route.php 路由配置文件 ├─extend 擴展類庫目錄(可定義) ├─public WEB 部署目錄(對外訪問目錄) │ ├─static 靜態資源存放目錄(css,js,image) │ ├─index.php 應用入口文件 │ ├─router.php 快速測試文件 │ └─.htaccess 用于 apache 的重寫 ├─runtime 應用的運行時目錄(可寫,可設置) ├─vendor 第三方類庫目錄(Composer) ├─thinkphp 框架系統目錄 │ ├─lang 語言包目錄 │ ├─library 框架核心類庫目錄 │ │ ├─think Think 類庫包目錄 │ │ └─traits 系統 Traits 目錄 │ ├─tpl 系統模板目錄 │ ├─.htaccess 用于 apache 的重寫 │ ├─.travis.yml CI 定義文件 │ ├─base.php 基礎定義文件 │ ├─composer.json composer 定義文件 │ ├─console.php 控制臺入口文件 │ ├─convention.php 慣例配置文件 │ ├─helper.php 助手函數文件(可選) │ ├─LICENSE.txt 授權說明文件 │ ├─phpunit.xml 單元測試配置文件 │ ├─README.md README 文件 │ └─start.php 框架引導文件 ├─build.php 自動生成定義文件(參考) ├─composer.json composer 定義文件 ├─LICENSE.txt 授權說明文件 ├─README.md README 文件 ├─think 命令行入口文件 三、實際操作 -- 1、入口文件 入口文件位于public/index.php 在瀏覽器中訪問入口文件 http://localhost/(項目名稱)/public/ 2、控制器 -- index模塊的Index控制器(文件位于application/index/controller/Index.php) http://localhost/項目名稱/public/ 可以為操作方法定義參數 例子: <?php namespace app\index\controller; class Index { public function index($name = 'tangmei') { return 'Hello,' . $name . '!'; } } 帶name參數訪問入口文件地址(例如 http://localhost/項目名稱/public/index.php/index/index?name=tangmei)的時候,在瀏覽器中可 以看到如下輸出:Hello,tangmei! 注意: 控制器類可以包括多個操作方法,但如果你的操作方法是protected或者private類型的話,是無法直接通過URL訪問到該操作的。 3、視圖: 給控制器添加視圖文件功能,在application/index目錄下面創建一個view目錄,然后添加模板文件view/index/hello.html <html> <head> <title>hello {$name}</title> </head> <body> hello, {$name}! </body> </html> 要輸出視圖,必須在控制器方法中進行模板渲染輸出操作 ~~~ <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function hello($name = 'thinkphp') { $this->assign('name', $name); return $this->fetch(); } } ~~~ http://127.0.0.1/項目名稱/public/index.php/index/index/hello 4、簡單數據庫操作 讀取數據 -- 數據庫: `tang` -- -- -------------------------------------------------------- -- -- 表的結構 `tang` -- ~~~ CREATE TABLE IF NOT EXISTS `tang` ( `id` int(6) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(45) NOT NULL, `content` varchar(44) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; ~~~ 轉存表中的數據 `tang` ~~~ INSERT INTO `tang` (`id`, `title`, `content`) VALUES (1, 'tang', 'ffafwaf'); ~~~ 數據庫配置文件application/database.php中添加數據庫的連接信息。 return [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'tang', // 用戶名 'username' => 'root', // 密碼 'password' => 'root', // 端口 'hostport' => '', // 連接dsn 'dsn' => '', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => '', // 數據庫調試模式 'debug' => true, // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器) 'deploy' => 0, // 數據庫讀寫是否分離 主從式有效 'rw_separate' => false, // 讀寫分離后 主服務器數量 'master_num' => 1, // 指定從服務器序號 'slave_no' => '', // 是否嚴格檢查字段是否存在 'fields_strict' => true, // 數據集返回類型 array 數組 collection Collection對象 'resultset_type' => 'array', // 是否自動寫入時間戳字段 'auto_timestamp' => false, // 是否需要進行SQL性能分析 'sql_explain' => false, ]; 添加讀取數據的代碼 ~~~ <?php namespace app\index\controller; use think\Controller; use think\Db; class Index extends Controller { public function hello() { $data = Db::name('tang')->find(); $this->assign('result', $data); return $this->fetch(); } } ~~~ 修改模板文件,添加數據輸出標簽 ~~~ <html> <head> <title>hello</title> </head> <body> {$result.id}--{$result.title} </body> </html> ~~~ 數據庫 1、連接數據庫(修改dababase.php文件) ~~~ return [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'tang', // 用戶名 'username' => 'root', // 密碼 'password' => 'root', // 端口 'hostport' => '', // 連接dsn 'dsn' => '', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => '', // 數據庫調試模式 'debug' => true, // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器) 'deploy' => 0, // 數據庫讀寫是否分離 主從式有效 'rw_separate' => false, // 讀寫分離后 主服務器數量 'master_num' => 1, // 指定從服務器序號 'slave_no' => '', // 是否嚴格檢查字段是否存在 'fields_strict' => true, // 數據集返回類型 array 數組 collection Collection對象 'resultset_type' => 'array', // 是否自動寫入時間戳字段 'auto_timestamp' => false, // 是否需要進行SQL性能分析 'sql_explain' => false, ]; ~~~ 1、插入記錄 ~~~ <?php namespace app\index\controller; use think\Db; class Index { public function index() { $re_add = Db::execute('insert into tang (id, title ,content) values (3, "thinkphp","ggjjbj")'); if($re_add) { echo "插入成功"; } else { echo "插入失敗"; } } } ~~~ 訪問路徑:http://127.0.0.1/項目名稱/public/index.php/index/index 2、查詢數據 ~~~ <?php namespace app\index\controller; use think\Db; class Index { public function index() { $result = Db::query('select * from tang'); dump($result); } } ?> ~~~ 3、更改數據 ~~~ <?php namespace app\index\controller; use think\Db; class Index { public function index() { $re_update=Db::execute('update tang set title="geyue" where id=3'); dump($re_update); } } ?> ~~~ 4、刪除數據 ~~~ <?php namespace app\index\controller; use think\Db; class Index { public function index() { $re_delete=Db::execute('delete from tang where id = 2 '); dump($re_delete); } } ?> ~~~
                  <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>

                              哎呀哎呀视频在线观看