0

有谁知道如何在 Yii 框架中使用自定义命令读取标准输入?

我正忙着编写一个脚本来通过 php 脚本处理传入的邮件,但也需要 Yii 框架内的功能。默认情况下,当您扩展 CConsoleCommand 时,Yii 将变量中的命令行参数传递给您的 run() 方法。有任何想法吗?

4

2 回答 2

1

好的,我知道这会很有趣,但是在发布我的问题后,我也想通了。

对于那些使用超酷 Yii 框架的人,并且想要做这样的事情,这里是你将如何去做的事情。

在您的公共 run() 方法中,只需添加以下内容:

$fd = fopen("php://stdin", "r");
$content = "";
while (!feof($fd)){
   $content .= fread($fd, 1024);
}
fclose($fd);

然后,您将能够在 $content 变量中获取发送/流式传输到文件的任何内容。

一旦标准输入被捕获,您在此块之后添加的任何代码都将被处理。

C'',)

于 2009-12-30T14:01:43.160 回答
0

您可以使用CConsoleCommand::promt()从标准输入接收输入(更多信息在这里http://www.yiiframework.com/doc/api/1.1/CConsoleCommand#prompt-detail

于 2013-06-26T07:04:11.407 回答