有谁知道如何在 Yii 框架中使用自定义命令读取标准输入?
我正忙着编写一个脚本来通过 php 脚本处理传入的邮件,但也需要 Yii 框架内的功能。默认情况下,当您扩展 CConsoleCommand 时,Yii 将变量中的命令行参数传递给您的 run() 方法。有任何想法吗?
好的,我知道这会很有趣,但是在发布我的问题后,我也想通了。
对于那些使用超酷 Yii 框架的人,并且想要做这样的事情,这里是你将如何去做的事情。
在您的公共 run() 方法中,只需添加以下内容:
$fd = fopen("php://stdin", "r");
$content = "";
while (!feof($fd)){
$content .= fread($fd, 1024);
}
fclose($fd);
然后,您将能够在 $content 变量中获取发送/流式传输到文件的任何内容。
一旦标准输入被捕获,您在此块之后添加的任何代码都将被处理。
C'',)
您可以使用CConsoleCommand::promt()
从标准输入接收输入(更多信息在这里http://www.yiiframework.com/doc/api/1.1/CConsoleCommand#prompt-detail)