请问一个关于CHttpRequest的问题

不是很明白这里的东西,现在我要把一个由prado写成的代码转成Yii的代码,但是到了这边有用到CHttpRequest(我觉得是用到这个了)就不明白如何改了。下面这个是原来的prado代码。

public function onInit($param) {


    parent::onInit($param);


    $hostip = $this->Request->getUserHostAddress(); 


    $hostname = gethostbyaddr($hostip);       


    CApp::log('recieved request from : '. $hostname);


    $status = $this->Request['status'];


    $msg = $this->Request['msg'];


    $this->Response->write('ok');//这个是什么意思?如何写作Yii?     


    ......

我现在想把这段代码改成用Yii写的,而且想写在controller里,我看了一下这个,是不是要用到CHttpRequest?

比如这个: $hostip = $this->Request->getUserHostAddress();

    $hostname = gethostbyaddr($hostip);

可以改为:

$hostname = CHttpRequest::getUserHost();

???这样对吗?

还有 $status = $this->Request[‘status’];

    $msg = $this->Request['msg'];

这个是什么意思?也是别人发给我的请求中的数据吗?用Yii的话如何获取呢?

多谢!!!

用以下Yii代码就可以了:




$hostname=Yii::app()->request->userHost;

$status=$_REQUEST['status'];



哦,明白了,多谢qiang! ;D

Hi,还要请问一下:

$this->Response->write(‘ok’);

如何改成YII?

我看已经没有CHttpResponse这种了,是要用CHttpRequest的方法吗?还是如何写?

十分感谢!

echo ‘ok’;

Yii的一个目标就是尽可能简化和使用直观的代码。

那万一要对response的东西做一下处理呢?比如去除空格、无用字符等等

你可以利用filter功能,在controller的filters()里声明一个filter,对输出进行捕获和处理。

:P 不错,正需要~