ThinkPHP6 API服务入门教程
1 下载Composer
Composer是PHP用来管理依赖关系的工具。
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)
复制代码
多应用扩展mode think -multi -app
要使用多应用模式,您需要安装 think-multiapp。在项目根目录运行以下命令进行安装:
composer require topthink/think-multi-app
复制代码
更改控制器的路径
打开app/myApp/controller/Index.php,调整命名空间
- 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 '二级控制器Login';
}
}
复制代码
设置完成后,可以通过以下网址访问:
http://127.0.0.1/thinkphp6/public/myApp/api/login
复制代码
自动创建API控制器
也可以通过命令行自动生成控制器,新生成的控制器包含预设代码。在根目录下运行:
php think make:controller app\myApp\controller\api\Login --api
复制代码
以上设置基本完成了ThinkPHP6最基本的实现。
作者:Mr_Mr.兔子
链接:https://juejin.im/post/6844904037561663495
来源:掘金
版权归作者所有。商业转载请联系作者获得许可。非商业转载请注明出处。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。