微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

工作俩年才知道$argv,表示很low!

最近在使用laravel实现rabbitmq方面的文章,实现到路由模式的时候遇到点问题,针对命令行传参的问题。

一、rabbitmq路由模式遇到的问题

在这代码里边可以看到一个没有定义的变量$argv,说实话框架用多了,都不知道这玩意是什么了。

咔咔使用的是laravle框架,没有声明的变量是会直接报错的。

但是在路由模式下确实又需要这个实例,总不能执行一次去修改一下routing_key

在这里插入图片描述

二、揭秘$argv

搜索PHP argv 后,明晃晃的解释出现在我的面前,这哥们是用来给脚本传递参数的啊!

在这里插入图片描述

二话不说先整一个PHP文件,然后测试一下。

在web目录创建一个index.PHP文件,然后打印出$argv

在这里插入图片描述

执行index.PHP,执行指令PHP index kaka

这个就有点意思了,打印出来的数据正是上文资料说的数组形式。

一个值是执行的文件名,第二个参数就是携带给脚本的参数。

在这里插入图片描述

这个时候在返回来看一下rabbitmq的那份代码

对索引为1的数据进行了容错,这个值也就是需要的routing_key

在这里插入图片描述

在来看一下后文给出的执行指令,就不难明白它为什么这样执行了。

在这里插入图片描述

三、如何用laravel携带带参数的指令

生活还得继续,代码还得撸不是吗?用了框架就得适应框架的用法

先创建一个命令PHP artisan make:command TestCommand

在这里插入图片描述

这时你就可以看到TestController文件

signature是指令名

在这里插入图片描述

先执行一下吧!PHP artisan test:command,这个123是在下边的handle方法里边

在这里插入图片描述

在laravle中执行带参数的指令

在这里插入图片描述

在这里插入图片描述

执行指令PHP artisan test:command kaka看看会出现什么。

对喽!就是指令后边的参数。

对于laralve携带参数的用法还用好几种,咔咔这里就不演示了,很是简单哄!

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐