ThinkPHP初步搭建API服务(详细步骤)
本篇文章整理了ThinkPHP6从头开始部署的详细操作步骤,希望能够帮助大家节省探索的时间,对大家有帮助。
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 '二级控制器Login'; } }
设置之后就可以通过以下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中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文比较了联想的思想簿和ThinkPad笔记本电脑系列。 ThinkPads优先考虑专业人士的耐用性和性能,而Thinkbooks则为日常使用提供了一种时尚,负担得起的选择。 关键区别在于构建质量,P

本文解释了如何防止ThinkPHP应用中的SQL注入。 它强调通过ThinkPhp的查询构建器使用参数化查询,避免直接的SQL串联并实现强大的输入验证和消毒。 广告

本文介绍了ThinkPHP漏洞,强调修补,预防和监视。 它详细说明了通过更新,安全补丁和代码修复处理特定漏洞的方法。 主动措施,例如安全配置,输入

本文详细介绍了ThinkPhp软件安装,涵盖了下载,提取,数据库配置和权限验证等步骤。 它解决了系统需求(PHP版本,Web服务器,数据库,扩展程序),Common installat

本教程解决了常见的thinkphp漏洞。 它强调定期更新,安全扫描仪(RIPS,Sonarqube,Snyk),手动代码审查以及识别和补救的渗透测试。 预防措施包括安全

本文展示了使用ThinkPHP的CLI功能来构建命令行应用程序(CLI)。 它强调了最佳实践,例如模块化设计,依赖注入和强大的错误处理,同时突出了诸如INSU之类的常见陷阱

本指南详细详细介绍了ThinkPHP中的数据库连接,重点介绍了通过Database.php进行配置。 它使用PDO并允许ORM或直接SQL相互作用。 该指南涵盖了对通用连接错误的故障排除,管理多个连接,EN

本文介绍了一个免费的开源PHP框架ThinkPHP。 它详细介绍了ThinkPHP的MVC架构,功能(路由,数据库互动),优点(快速开发,易用性)和缺点(潜在的过度工程,社区
