首頁 php框架 ThinkPHP ThinkPHP初步建置API服務(詳細步驟)

ThinkPHP初步建置API服務(詳細步驟)

Dec 20, 2021 pm 12:06 PM
thinkphp框架

本篇文章整理了ThinkPHP6从头开始部署的详细操作步骤,希望能够帮助大家节省探索的时间,对大家有帮助。

ThinkPHP初步建置API服務(詳細步驟)1 下载Composer

Composer是 PHP 用来管理依赖(dependency)关系的工具。

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服务后,安装通过。

1.2 macOS版本

执行:

curl -sS https://getcomposer.org/installer | php
登入後複製

如果报错以下信息,或者迟迟下载不完:

Failed to decode zlib stream
登入後複製

就直接去官网(getcomposer.org/download/)下载最新版的composer.phar

下载后,在存放composer.phar的目录下执行:

mv composer.phar /usr/local/bin/composer
登入後複製

然后就可以全局使用composer了,执行以下命令查看版本号:

composer -v
登入後複製

2 安装/升级ThinkPHP6

执行以下命令,切换为阿里云镜像加速下载:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
登入後複製

选好目录,执行:

composer create-project topthink/think projectName
登入後複製

安装好后,进入项目目录,执行:

php think run
登入後複製

浏览器访问:

http://localhost:8000/
登入後複製

如果改变端口,则执行:

php think run -p 80
登入後複製

升级ThinkPHP6,进入项目根目录,执行:

composer update
登入後複製

实际部署中,应该是绑定域名访问到public目录,确保其它目录不在WEB目录下面。

3 配置调试模式

根目录下的.example.env重命名为.env,设置以下代码:

APP_DEBUG = true
登入後複製

4 多应用部署

目录结构

/www  WEB部署目录(或者子目录) 
├─ /app                  应用目录 
│  ├─ /myApp             子应用目录 
│  │  ├─common.php       子应用函数文件 
│  │  ├─/controller      子应用控制器目录 
│  │    ├─Index.php     子应用控制器 
│  │  ├─/model           子应用模型目录 
│  │  ├─/view            子应用视图目录 
│  │  ├─/config          子应用配置目录 
│  │  ├─/route           子应用路由目录 
│  │  └─ ...             子应用更多类库目录 
│  │ |  ├─BaseController.php  默认基础控制器类 
│  ├─common.php          公共函数文件 
│  ├─event.php           事件定义文件
 |  ├─ExceptionHandle.php 应用异常定义文件(一定要保留这个!否则ERROR 500)
 |  |─middleware.php      全局中间件定义文件
 │  ├─provider.php        服务提供定义文件
 |  └─Request.php         应用请求对象(一定要保留这个!否则ERROR 500)
登入後複製

多应用模式扩展think-multi-app

要使用多应用模式,需要安装think-multi-app,在项目根目录执行以下命令安装:

composer require topthink/think-multi-app
登入後複製

修改控制器的路径

打开app/myApp/controller/Index.php,调整namespace

-   namespace app\controller; 
+   namespace app\myApp\controller; 
    use app\BaseController;
登入後複製

然后通过http服务即可访问:

http://127.0.0.1/thinkphp6/public/index.php/myApp
登入後複製

URL重写

如果想省略index.php,即通过以下方式访问

http://127.0.0.1/thinkphp6/public/myApp
登入後複製

在public/.htaccess添加:

<IfModule mod_rewrite.c>   
Options +FollowSymlinks -Multiviews   
RewriteEngine On   RewriteCond %{REQUEST_FILENAME} !-d   
RewriteCond %{REQUEST_FILENAME} !-f  
 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 
</IfModule>
登入後複製

通过官方composer默认安装已经完成了URL重写,这里仅做备忘。

5 多级控制器

目录结构如下:

├─ /app                  应用目录 
│  ├─ /myApp             子应用目录 
│  │  ├─/controller      子应用控制器目录
 │  │    ├─/api           二级控制器目录 
│  │      ├─/Login.php   二级控制器
登入後複製

Login.php代码:

<?php 
namespace app\myApp\controller\api; 
use app\BaseController; 
class Login extends BaseController
 {
     public function index()    
 {        
 return &#39;二级控制器Login&#39;;    
 } 
}
登入後複製

设置之后就可以通过以下URL访问了:

http://127.0.0.1/thinkphp6/public/myApp/api/login
登入後複製

自动创建API控制器

也可以通过命令行自动生成控制器,新生成的控制器包含了预设代码。在根目录执行:

php think make:controller app\myApp\controller\api\Login --api
登入後複製

通过以上设置,基本完成了ThinkPHP6的最基础部署。

(推荐学习:thinkphp5

以上是ThinkPHP初步建置API服務(詳細步驟)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)