thinkphp api开发教程(thinkphp怎么设置api)

技术ThinkPHP如何搭建API服务这篇文章将为大家详细讲解有关ThinkPHP如何搭建API服务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 下载ComposerCompose

本文将详细解释ThinkPHP如何为您构建API服务。边肖觉得很实用,分享给大家参考。希望你看完这篇文章能有所收获。

1 下载Composer

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

1.1 windows版本

下载地址:getcomposer.org/

如果报告了错误:

程序输出:

Php已弃用:直接“track _ errors”是isdepratedinunknownnonline0修改php.ini:

;轨道误差=开(开至关)

Track_errors=Off重新启动HTTP服务后,安装通过。

1.2 macOS版本

执行:

如果curl-sShttps://getcomposer.org/installer|php错误地报告了以下信息,或者下载这些信息为时已晚:

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

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

然后,mvcomposer.phar/usr/local/bin/composer可以全局使用composer,并执行以下命令来检查版本号:

作曲家2 安装/升级ThinkPHP6

执行以下命令切换到阿里巴巴云映像加速下载:

composerconfig-grepo . packagistcomposer https://mirrors . aliyun.com/composer/选择目录并执行:

安装composer create-project topthink/think project name后,输入项目目录并执行:

Phpthinkrun浏览器访问:

3358本地主机:8000/如果端口改变,执行:

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

在composerupdate的实际部署中,应该绑定域名来访问公共目录,以确保其他目录不在WEB目录下。

3 配置调试模式

在根目录下,重命名。example.env to。env,并设置以下代码:

APP _ DEBUG=真4 多应用部署

目录结构

/wwwwwweb部署目录(或子目录)

/app

nbsp;  应用目录 
│  ├─ /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的最基础部署。

关于“ThinkPHP如何搭建API服务”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153405.html

(0)

相关推荐

  • jointJS怎么用

    技术jointJS怎么用这篇文章主要为大家展示了“jointJS怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jointJS怎么用”这篇文章吧。最近由于项目需要,开始接

    攻略 2021年11月16日
  • 三横三竖三撇三捺是什么字,三横三竖三撇三捺念什么字啊

    技术三横三竖三撇三捺是什么字,三横三竖三撇三捺念什么字啊森。可以先想一横三横三竖三撇三捺是什么字,一竖,一撇,一捺 是什么字,是木,三个木就是森。森是一个汉字,读作sēn,本意是树木丛生繁密,引申义是从林从木,整齐而严肃

    生活 2021年10月26日
  • kcl方程,基尔霍夫解光的电磁波方程

    技术kcl方程,基尔霍夫解光的电磁波方程1、假设各支路电流正方向及回路的绕行方向kcl方程。
    2、应用KCL列出节点的电流方程。对于有n个节点的电路,只能选取n-1个节点列方程。
    3、应用KVL列出回路的电压方程。对于有

    生活 2021年10月19日
  • influxdb分布式数据库(分布式数据库tidb是什么)

    技术怎么解析RadonDB分布式数据库核心技术与实现怎么解析RadonDB分布式数据库核心技术与实现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。摘要:随着

    攻略 2021年12月18日
  • Java的学习方法有哪些

    技术Java的学习方法有哪些这篇文章主要介绍“Java的学习方法有哪些”,在日常操作中,相信很多人在Java的学习方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java的学习方法

    攻略 2021年11月6日
  • 同性恋的原因,为啥现在的同性恋那么多

    技术同性恋的原因,为啥现在的同性恋那么多同性恋产生的原因至今尚无肯定的学说,一般认为与以下因素有关同性恋的原因:
    (1)遗传因素,有人发现同性恋者在单卵双生子中远比双卵双生子中多见,而且男同性恋可能是母系遗传的。
    (2)

    生活 2021年10月30日