thinkphp5 内置接口开发与使用

最近的一个项目在用tp5,对于tp3都几乎没用过的我来说~~~

tp5最好的一点就是对接口的单独封装,只要严格按照要求一步一步来就可以成功了

  1. 开启命令行:
    1. 配置环境变量
    2. 安装tp5项目
    3. cmd进入项目目录,运行php think,出现如下内容,则表示命令行开启成功

      具体指令参考手册 https://www.kancloud.cn/manual/thinkphp5/122951
  2. 创建自定义命令行(接口)注意命名空间问题

      1. 配置command.php文件,目录在application/command.php
        <?php

        return [
        'app\api\controller\shell\控制器名称',
        ];
      2. 创建命令类文件(接口文件),地址application/controller/shell/文件名称(驼峰命名)
        1. 编辑文件
          <?php namespace app\home;    // 此处开发文档上写的是app\home\command;实际上,去掉command才可以正常跑,还没有弄明白究竟是怎么回事 use think\console\Command; use think\console\Input; use think\console\Output; class Test extends Command {     protected function configure()     {        
                //设置参数$this->addArgument('email', Argument::REQUIRED); //必传参数$this->addArgument('mobile', Argument::OPTIONAL);//可选参数//选项定义$this->addOption('message', 'm', Option::VALUE_REQUIRED, 'test'); //选项值必填$this->addOption('status', 's', Option::VALUE_OPTIONAL, 'test'); //选项值选填$this->setName('test')->setDescription('Here is the remark ');
              }     

             protected function execute(Input $input, Output $output)     {  

                  //获取参数值$args = $input->getArguments();$output->writeln('The args value is:');print_r($args);
                      //获取选项值$options = $input->getOptions();$output->writeln('The options value is:');print_r($options);$output->writeln('Now execute command...');$output->writeln("End..");

                }

              }

      注意只有在配置中设置了参数,同时在execute中用封装的方法$input->getArguments();获取参数才能够精确获取到需要的参数,否则如果只是在execute中直接print($input)出现的是一个超级复杂的数据对象

       

  3.  

    测试-命令帮助-命令行下运行  php think

     

  4. 运行test命令  php think test

    同时可以将参数跟在命令后面当做参数传入  php think test 2017-06-05

    这样就完成了一个简单的接口

    但是在我刚刚进入命令行的时候,执行命令行中的tp5带命令,报了一个奇怪的错误igbinary 版本错误,原因是我安装的igbinary与php版本不匹配,重新安装就好了,但是目前还不知道igbinary和命令行运行之间有什么必然联系

 

转载于:https://www.cnblogs.com/wangfengzhu/p/6946376.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Halcon2019软件安装教程

文章目录1、halcon介绍2、安装halcon-19.11.0.0-windows.exe1、下载halcon-19.11.0.0-windows.exe安装包2、halcon-19.11.0.0-windows.exe软件安装3、验证Halcon安装1、halcon介绍 HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包&#xff0c;拥有应用广泛的机器视…

Python: 编程遇到的一些问题以及网上解决办法?

0.Python: TypeError: str does not support the buffer interface,(点我) fp.write(url.encode("utf-8")) 1.Python:object of type Response has no len()&#xff0c;如何解决&#xff1f;(点我) Traceback (most recent call last):File "F:/Python/TD.py&q…

一文学会,胶位偏移、缺胶、断胶、溢胶检测

文章目录检测任务检测思路点胶质量检测代码及解析图示处理思路博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 检测任务 点胶检查检测以下缺陷&#xff1a; 1.缺少粘合胶的部分&#xff08;断胶&#xff09; 2.粘合剂过多或过少的部分&#x…

深入理解halcon相机标定

目录相机标定简介深度说明1、相机标定参数介绍2、标定板详细介绍问题1&#xff1a;halcon是否只能使用halcon专用的标定板&#xff1f;问题2&#xff1a;halcon标定板如何生成&#xff1f;问题3&#xff1a;halcon标定板如何摆放&#xff0c;拍照数量有无限制&#xff1f;标定步…

halcon模板匹配干扰边缘消除办法(最硬核方式)

目录halcon手绘形状匹配模板手绘形状匹配模板主要算子解析draw_nurbs 绘制平滑曲线参数解释create_shape_model_xld 使用XLD轮廓创建模板参数解释实例演示与解析实例代码展示与解析运行过程与处理展示读入图像绘制模板使用绘制的XLD创建模板查找模板博主写作不容易&#xff0c;…

第一个PowerShell脚本——PowerShell三分钟(九)

前面把基础知识讲了一遍&#xff0c;现在我们开始写一个最初级的脚本写脚本的工具有很多&#xff0c;有文本文档&#xff0c;有PowerShell ISE&#xff0c;PowerShell Studio等&#xff0c;这里选用系统自带的PowerShell ISE这里大家依然要记得以管理员身份运行&#xff0c;否则…

MVC架构简介及其测试策略

最近在WEB端测试工作中陷入了瓶颈&#xff0c;单纯的手动功能测试在没有成熟的代码规范之前还是很容易坑的&#xff0c;WEB自动化测试一时半会还没有什么进展&#xff0c;所以决定先学习一下网站用的MVC架构&#xff0c;跟着教程写了一个小网站&#xff0c;大概也找到了WEB测试…

C++多线程实例(_beginThreadex创建多线程)

C多线程&#xff08;二&#xff09;(_beginThreadex创建多线程) C/C Runtime 多线程函数一 简单实例&#xff08;来自codeprojct&#xff1a;http://www.codeproject.com/useritems/MultithreadingTutorial.asp&#xff09; 主线程创建2个线程t1和t2&#xff0c;创建时2个线程…

halcon求取区域顶点

文章目录简介Halcon源代码处理效果博主写作不容易&#xff0c;孩子需要您鼓励 万水千山总是情 , 先点个赞行不行 简介 使用halcon求取顶点的方法。 Halcon源代码 read_image (Image1, 1.png)points_foerstner (Image1, 1, 2, 3, 200, 0.3, gauss, false, RowJunctions, …

从excel表中生成批量SQL,将数据录入到数据库中

excel表格中有许多数据&#xff0c;需要将数据导入数据库中&#xff0c;又不能一个一个手工录入&#xff0c;可以生成SQL&#xff0c;来批量操作。1.首先在第二行的H列&#xff0c;插入函数&#xff1a;CONCATENATE("INSERT INTO book (bookid, title, volume, author, u…

Linux 的多线程编程的高效开发经验

转自&#xff1a;http://www.chineselinuxuniversity.net/articles/22615.shtml 本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验&#xff0c;用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中&#xff0c;我们穿插一些 Windows 的编程用例用以对…

Visual C++中error spawning cl.exe解决办法

| 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 今天安装Vc6.0的时候出现了一个error spawning cl.exe的错误&#xff0c;在网上找了一些资料&#xff0c;才知道这是因为路径设置的问题引起的&#xff0c; “cl.exe”是VC真正的程序编译器&…

HEXA机器人荣获CES Asia2018 创新奖

2019独角兽企业重金招聘Python工程师标准>>> 6月13日至15日&#xff0c;亚洲消费电子展CES Asia 2018将在上海新国际博览中心如期举行。在活动到来前&#xff0c;美国消费技术协会&#xff08;CTA&#xff09;于5月24日&#xff0c;提前揭晓了“2018亚洲消费电子展创…

【bzoj3994】[SDOI2015]约数个数和 莫比乌斯反演

题目描述 设d(x)为x的约数个数&#xff0c;给定N、M&#xff0c;求 输入 输入文件包含多组测试数据。 第一行&#xff0c;一个整数T&#xff0c;表示测试数据的组数。接下来的T行&#xff0c;每行两个整数N、M。输出 T行&#xff0c;每行一个整数&#xff0c;表示你所求的答案…

Linux根文件系统结构再认识

Linux根文件系统结构再认识刘建文&#xff08;http://blog.csdn.net/keminlau &#xff09; INTRO 尽管Linux的根文件系统在形式表现上是一体的&#xff08;所有数据目录均为根目录下的子目录&#xff09;&#xff0c;但实际它们是多个不同的【逻辑主体】&#xff08;为了实现…

在Window10上使用Ubuntu终端

在Windows10上使用Ubuntu终端 习惯了ubuntu的开发&#xff0c;回到windows的command可以说是很绝望了。之前偶尔用windows时一直用git-bash来代替。但是发现windows已经添加了对ubuntu子系统的支持&#xff0c;那直接用不是更爽。 1.安装 进入控制面板&#xff0c;开启适用于Li…

为静态博客生成器WDTP移植了一款美美哒主题

前言 关于这个主题的移植后公布&#xff0c;我已经联系了主题作者并取得同意&#xff0c;这个主题是一夜涕所写的Sgreen&#xff0c;预览图见下 关于WDTP 就是一个很方便很便携很快速的cpp编写的带gui跨平台的开源的静态博客生成器&#xff0c;软件作者更新记录在V站可以找到,软…

TCP/IP数据包结构分析

一般来说&#xff0c;网络编程我们只需要调用一些封装好的函数或者组件就能完成大部分的工作&#xff0c;但是一些特殊的情况下&#xff0c;就需要深入的理解 网络数据包的结构&#xff0c;以及协议分析。如&#xff1a;网络监控&#xff0c;故障排查等…… IP包是不安全的&am…

世界杯快到了,看我用Python爬虫实现(伪)球迷速成!

还有4天就世界杯了&#xff0c;作为一个资深&#xff08;伪&#xff09;球迷&#xff0c;必须要实时关注世界杯相关新闻&#xff0c;了解各个球队动态&#xff0c;这样才能在一堆球迷中如&#xff08;大&#xff09;鱼&#xff08;吹&#xff09;得&#xff08;特&#xff09;水…

Bootstrap学习笔记(四)-----Bootstrap每天必学之表单

本文主要讲解的是表单&#xff0c;这个其实对于做过网站的人来说&#xff0c;并不陌生&#xff0c;而且可以说是最为常用的提交数据的Form表单。本文主要来讲解一下内容&#xff1a; 1.基本案例2.内联表单3.水平排列的表单4.被支持的控件5.静态控件6.控件状态7.控件尺寸8.帮助文…