幻想指点江山,梦中激扬文字(飞天小肥猪的简单人生 Register | Login

浅谈TP的COOKIE类

获取 @neatdns.com 的免费邮箱

TP的COOKIE类是被封装好的,里面包含了一些常见的操作,set,get,clear等等,其实TP的cookie类与其他的COOKIE有着明显的不同,那就是TP的COOKIE ID是唯一的(不好意思,在我写完这段的时候,为了防止写错,我又重新打开了cookie.class.php,却突然发现,现在的cookie功能与以前的不一样了。)

以前的set函数是类似于这样:

PHP代码
  1. $_COOKIE[C('COOKIE_ID')][C('COOKIE_PREFIX').$name] = $value ;  
如今的又恢复成:
PHP代码
  1. $_COOKIE[C('COOKIE_PREFIX').$name]  =   $value;  

既然如此,我还是按最新的稍作讲解吧。。。

Cookie类,固名思意,就是把对COOKIE的操作进行了封装,通过定义一个COOKIE名的前缀,以防与其他COOKIE产生冲突,然后加上COOKIE变量的名称,就可以进行赋值、取值等。

Cookie类所有的操作都采用了静态方法,即在实际应用中,只要加载了Cookie类,就可以随时使用了:

PHP代码
  1. <?  
  2. //假设cookie 前缀为 'neatcn_'  
  3. Cookie::get('test');  
  4. //return $_COOKIE['neatcn_test'];  
  5.   
  6. Cookie::set('test','123456');  
  7. //return setcookie('neatcn_test','123456',xxx,xxx,xxx);  
  8. //xxx是默认定义的常量,如默认COOKIE的过期时间,作用域等  
对于这些封装,可以方便使用,同样需要注意的是,在Cookie操作时,请不要输出header,否则可能会出现header already send的warning,同时无法写cookie,这点请需要注意。

另外一个需要注意的是,cookie在不同的浏览器下面有着不同的限制,最常见的就是cookie的长度,请尽量不要超过4K的字节。

参考资料:

FF浏览器
  1. * 一个 Cookie 档案最多只能包含 300 个 Cookies。(这只适用于 Netscape,因为它把所有的 Cookie 都放在一个档案。)  
  2. * 每一个 Cookie 的大小不得超过 4KB。  
  3. * 每一个 URL 路径,最多只能设定 20 个 Cookie。  



本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自" 膘叔  簡單人生", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: thinkphp, cookie, class

« 上一篇 | 下一篇 »

只显示10条记录相关文章

ThinkPHP介绍 (浏览: 2849, 评论: 3)
ThinkPHP两周年,同时有新的更新 (浏览: 2677, 评论: 2)
ThinkPHP怎么样更好的使用Smarty第三方插件 (浏览: 2248, 评论: 2)
为ThinkPHP开发自定义标签几个注意事顶 (浏览: 1972, 评论: 0)
解决使用ThinkPHP框架自带模版程序处理<??>出现的问题 (浏览: 1834, 评论: 0)
随便写写 (浏览: 531, 评论: 2)
享受TP的DISPATCH功能 (浏览: 42, 评论: 0)
浅谈TP的COOKIE类 - PHP Framework,thinkphp,cookie,class,gouki,简单人生|PHP开发|架构研究 TP的COOKIE类是被

发表评论

评论内容 (必填):