关于cookie操作(1.0.7版本)

以下的代码在1.0.6版本下可以正常得到数据,但在1.0.7下就得不到数据了?是不是1.0.7下做了代码修改,调用cookie的方式改变了吗?

public function actionSetCookie()


{


	$cookie = new CHttpCookie('123','3300');


            $cookie->expire = time()+60*60*24*180;


            Yii::app()->request->cookies['123']=$cookie;


            var_dump($_COOKIE);


	


}








public function actionGetCookie()


{


	$cookie = Yii::app()->request->cookies['123'];


	var_dump($_COOKIE);


}	

版本1.0.6下:

array(4) {

["ZDEDebuggerPresent"]=>

string(14) "php,phtml,php3"

["PHPSESSID"]=>

string(26) "lanuf1d522daivhsrq6931opj1"

["cartO"]=>

string(177) "a:2:{i:0;a:4:{s:3:"pid";s:2:"16";s:4:"pnum";s:1:"1";s:5:"price";i:1;s:10:"priceTotal";i:1;}i:1;a:4:{s:3:"pid";s:1:"3";s:4:"pnum";s:1:"1";s:5:"price";i:1;s:10:"priceTotal";i:1;}}"

[123]=>

string(4) "3300"

}

版本1.0.7下:

array(1) {

["ZDEDebuggerPresent"]=>

string(14) "php,phtml,php3"

}

查过记录,没有这方面的变化啊

已经解决怎么处理cookie了,提供封装后的设置、获取、销毁cookie的三个方法(yii1.0.7版本),代码如下:

/**


 * 写cookie


 * 会对传入的cookie值进行序列化


 *


 * @param string $name cookie的名称


 * @param string or array or object $value cookie值,默认值为空,即''


 * @param int $expire cookie过期时间,默认值为0


 * @param string $path 当前cookie的有效路径,默认值为"/"


 * @param string $domain 当前cookie的有效域名,默认值为空


 * @param boolean $secure 是否只充许以安全链接方式写cookie。true:是;false(默认值):否


 * @param boolean $httpOnly 是否只充许通过http协议写cookie。true:是;false(默认值):否


 * @return boolean true:成功;false:失败


 */


public function setCookie($name, $value='', $expire=0, $path='/', $domain='', $secure=false, $httpOnly=false)


{		


	$defaultResult = false;


	


	if ( !isset($name) || strlen($name)==0 )


		return $defaultResult;


	


	$cookie = Yii::app()->request->getCookies();


	$cookie[$name] = new CHttpCookie($name, serialize($value));


	$cookie[$name]->expire = time()+$expire;


	$cookie[$name]->path = $path;


	$cookie[$name]->domain = $domain;


	$cookie[$name]->secure = $secure;


	$cookie[$name]->httpOnly = $httpOnly;





	return true;


}








/**


 * 销毁cookie


 *


 * @param string $name cookie的名称


 * @return boolean 销毁成功,一直返回true


 */


public function delCookie($name)


{


	$cookie = Yii::app()->request->getCookies();


	if ( $cookie==null ) {


		return true;


	}


	


	unset($cookie[$name]);


	return true;


}





/**


 * 读cookie


 *


 * @param string $name cookie的名称


 * @return string cookie值


 */


public function getCookie($name)


{		


	$cookie = Yii::app()->request->getCookies();


	if ( $cookie==null )


		return null;


	


	return unserialize($cookie[$name]->value);	


}

标题没办法更改成[已解决]标志了