thinkphp5 内置接口开发与使用
Posted 殊珠子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5 内置接口开发与使用相关的知识,希望对你有一定的参考价值。
最近的一个项目在用tp5,对于tp3都几乎没用过的我来说~~~
tp5最好的一点就是对接口的单独封装,只要严格按照要求一步一步来就可以成功了
- 开启命令行:
- 配置环境变量
- 安装tp5项目
- cmd进入项目目录,运行php think,出现如下内容,则表示命令行开启成功 具体指令参考手册 https://www.kancloud.cn/manual/thinkphp5/122951
-
创建自定义命令行(接口)注意命名空间问题
- 配置command.php文件,目录在application/command.php
<?php
return [
\'app\\api\\controller\\shell\\控制器名称\',
]; -
创建命令类文件(接口文件),地址application/controller/shell/文件名称(驼峰命名)
-
编辑文件
<?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 \');
}
-
//获取参数值 $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)出现的是一个超级复杂的数据对象- 配置command.php文件,目录在application/command.php
-
- 运行test命令 php think test
同时可以将参数跟在命令后面当做参数传入 php think test 2017-06-05
这样就完成了一个简单的接口
但是在我刚刚进入命令行的时候,执行命令行中的tp5带命令,报了一个奇怪的错误igbinary 版本错误,原因是我安装的igbinary与php版本不匹配,重新安装就好了,但是目前还不知道igbinary和命令行运行之间有什么必然联系
以上是关于thinkphp5 内置接口开发与使用的主要内容,如果未能解决你的问题,请参考以下文章
使用 php内置Web Server 跑 thinkphp5(适合新手)