這篇文章將為大家詳細(xì)講解有關(guān)ThinkPHP如何搭建API服務(wù),小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)桐梓免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1 下載Composer
Composer是 PHP 用來管理依賴(dependency)關(guān)系的工具。
1.1 windows版本
下載地址:getcomposer.org/
如果報錯:
Program Output: PHP Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
則修改php.ini:
;track_errors = On (On改為Off) track_errors = Off
重啟HTTP服務(wù)后,安裝通過。
1.2 macOS版本
執(zhí)行:
curl -sS https://getcomposer.org/installer | php
如果報錯以下信息,或者遲遲下載不完:
Failed to decode zlib stream
就直接去官網(wǎng)(getcomposer.org/download/)下載最新版的composer.phar
下載后,在存放composer.phar的目錄下執(zhí)行:
mv composer.phar /usr/local/bin/composer
然后就可以全局使用composer了,執(zhí)行以下命令查看版本號:
composer -v
2 安裝/升級ThinkPHP6
執(zhí)行以下命令,切換為阿里云鏡像加速下載:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
選好目錄,執(zhí)行:
composer create-project topthink/think projectName
安裝好后,進(jìn)入項(xiàng)目目錄,執(zhí)行:
php think run
瀏覽器訪問:
http://localhost:8000/
如果改變端口,則執(zhí)行:
php think run -p 80
升級ThinkPHP6,進(jìn)入項(xiàng)目根目錄,執(zhí)行:
composer update
實(shí)際部署中,應(yīng)該是綁定域名訪問到public目錄,確保其它目錄不在WEB目錄下面。
3 配置調(diào)試模式
根目錄下的.example.env重命名為.env,設(shè)置以下代碼:
APP_DEBUG = true
4 多應(yīng)用部署
目錄結(jié)構(gòu)
/www WEB部署目錄(或者子目錄) ├─ /app 應(yīng)用目錄 │ ├─ /myApp 子應(yīng)用目錄 │ │ ├─common.php 子應(yīng)用函數(shù)文件 │ │ ├─/controller 子應(yīng)用控制器目錄 │ │ ├─Index.php 子應(yīng)用控制器 │ │ ├─/model 子應(yīng)用模型目錄 │ │ ├─/view 子應(yīng)用視圖目錄 │ │ ├─/config 子應(yīng)用配置目錄 │ │ ├─/route 子應(yīng)用路由目錄 │ │ └─ ... 子應(yīng)用更多類庫目錄 │ │ | ├─BaseController.php 默認(rèn)基礎(chǔ)控制器類 │ ├─common.php 公共函數(shù)文件 │ ├─event.php 事件定義文件 | ├─ExceptionHandle.php 應(yīng)用異常定義文件(一定要保留這個!否則ERROR 500) | |─middleware.php 全局中間件定義文件 │ ├─provider.php 服務(wù)提供定義文件 | └─Request.php 應(yīng)用請求對象(一定要保留這個!否則ERROR 500)
多應(yīng)用模式擴(kuò)展think-multi-app
要使用多應(yīng)用模式,需要安裝think-multi-app,在項(xiàng)目根目錄執(zhí)行以下命令安裝:
composer require topthink/think-multi-app
修改控制器的路徑
打開app/myApp/controller/Index.php,調(diào)整namespace
- namespace app\controller; + namespace app\myApp\controller; use app\BaseController;
然后通過http服務(wù)即可訪問:
http://127.0.0.1/thinkphp6/public/index.php/myApp
URL重寫
如果想省略index.php,即通過以下方式訪問
http://127.0.0.1/thinkphp6/public/myApp
在public/.htaccess添加:
Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
通過官方composer默認(rèn)安裝已經(jīng)完成了URL重寫,這里僅做備忘。
5 多級控制器
目錄結(jié)構(gòu)如下:
├─ /app 應(yīng)用目錄 │ ├─ /myApp 子應(yīng)用目錄 │ │ ├─/controller 子應(yīng)用控制器目錄 │ │ ├─/api 二級控制器目錄 │ │ ├─/Login.php 二級控制器
Login.php代碼:
設(shè)置之后就可以通過以下URL訪問了:
http://127.0.0.1/thinkphp6/public/myApp/api/login自動創(chuàng)建API控制器
也可以通過命令行自動生成控制器,新生成的控制器包含了預(yù)設(shè)代碼。在根目錄執(zhí)行:
php think make:controller app\myApp\controller\api\Login --api通過以上設(shè)置,基本完成了ThinkPHP6的最基礎(chǔ)部署。
關(guān)于“ThinkPHP如何搭建API服務(wù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享名稱:ThinkPHP如何搭建API服務(wù)
文章鏈接:http://weahome.cn/article/jsggop.html