<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國際加速解決方案。 廣告
                ## 安裝穩定版 ~~~ composer create-project topthink/think tp ~~~ ## 安裝開發版 ~~~ composer create-project topthink/think=6.0.x-dev tp ~~~ ## 更新 ~~~ composer update topthink/framework ~~~ ## 安裝多應用模式擴展`think-multi-app` ~~~ composer require topthink/think-multi-app ~~~ ## 快速生成應用 ~~~ php think build demo php think build api php think build admin ~~~ 會自動生成`demo,api,admin`應用,自動生成的應用目錄包含了`controller`、`model`和`view`目錄以及`common.php`、`middleware.php`、`event.php`和`provider.php`等文件。 ## 開啟調試模式 應用默認是部署模式,在開發階段,可以修改環境變量`APP_DEBUG`開啟調試模式,上線部署后切換到部署模式。 本地開發的時候可以在應用根目錄下面定義`.env`文件。 > 通過`create-project`安裝后在根目錄會自帶一個`.example.env`文件(環境變量示例),你可以直接更名為`.env`文件并根據你的要求進行修改,該示例文件已經開啟調試模式 ### 2、打開錯誤調試 在開始之間,我們先打開tp6的錯誤調試 1.找到config/app.php下的show\_error\_msg ,改成true ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210607214440799.png) 2.找到下面根目錄下的.example.env文件,重命名此文件,把.example刪掉 實現隱藏index.php很簡單,只需要找到public目錄下的.htaccess文件,添加如下代碼就可以了。 ``` <IfModule mod_rewrite.c> #如果mode_rewrite.c模塊存在 則執行以下命令 Options +FollowSymlinks -Multiviews RewriteEngine On #開啟 rewriteEngine # !-d 不是目錄或目錄不存在 RewriteCond %{REQUEST_FILENAME} !-d # !-f 不是文件或文件不存在 RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,PT,L] # 參數解釋 # ^(.*)$: 匹配所有的路口映射 # QSA: (Query String Appending)表示保留參數入get傳值?xxx==xx; # PT: 把這個URL交給Apache處理; # L: 作為最后一條,遇到這條將不再匹配這條之后的規則 # 增加下面這項,否則在header中會獲取不到Authorization SetEnvIf Authorization .+ HTTP\_AUTHORIZATION=$0 </IfModule> ``` ### 6、jwt token驗證 ``` composer require thans/tp\-jwt\-auth ``` ## 在.env文件中生成密鑰secret ``` php think jwt:create ``` 這個插件有三種方式【header,token,param】傳遞token,我就使用其中一個,也是最常用的一種,就是在【header】中傳遞token信息,這個插件默認驗證header中的token信息需要傳遞的參數名為authorization,而在header中直接傳遞該參數tp6是獲取不到的,需要做一些設置, 在根目錄中的public目錄下的.htacccess文件中添加 ``` SetEnvIf Authorization .+ HTTP\_AUTHORIZATION=$0 ``` ``` // 引入jwt插件 use thans\\jwt\\facade\\JWTAuth; // 生成token $token \= JWTAuth::builder(\['uid' \=> 1,'name'\=>'ceshi'\]); return $token; ``` #### (2).驗證token 我使用的是路由中間件的方式驗證token, ##### ① 寫一個中間件 在根目錄下的app目錄中創建middleware目錄,在其下創建CheckToken.php文件 *app/middleware/CheckToken.php* ``` <?php namespace app\middleware; use thans\jwt\facade\JWTAuth; use thans\jwt\exception\JWTException; class CheckToken { public function handle($request, \Closure $next) { // OPTIONS請求直接返回 if ($request->isOptions()) { return response(); } try { JWTAuth::auth(); }catch (JWTException $e) { return json($e->getMessage()); } return $next($request); } } ``` ##### ② 起別名 給該中間件起個別名,在根目錄下的config/middleware.php文件中 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210608215343992.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTA0Mjg2OA==,size_16,color_FFFFFF,t_70) ##### ③ 在路由文件中使用中間件![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210608215653121.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTA0Mjg2OA==,size_16,color_FFFFFF,t_70) ##### ④ 創建對應的方法 在第三步中我們創建了一個getUserInfo()方法,現在在User.php文件中創建 ``` public function getUserInfo() { return json(['id'=>1, 'name'=> '啦啦啦']); } ``` [# thinkphp6搭建后端api接口](https://blog.csdn.net/weixin_45042868/article/details/117674575?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9.essearch_pc_relevant)
                  <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>

                              哎呀哎呀视频在线观看