2010-08-19 120 views
5

我看到下面的代码片段的用法:取消设置cookie过期参数是否是一种很好的做法?

$cookieexpiry=(time()+21600); 
    setcookie("rwphp","$cookieid",$cookieexpiry,"/",$_SERVER["HTTP_HOST"],0); 
    unset($cookieexpiry); 

Q1>我的问题是,这是否是一个很好的做法,取消设置$ cookieexpiry。

Q2>在一般情况下,何时应该取消设置变量?

谢谢

回答

1

未设定会在这种情况下做的唯一的事情就是用释放变量$ cookieexpiry。它不会对你的cookie本身产生任何影响。

我觉得你是一个有点困惑的是,因为你的变量的名称,但都$ cookieexpiry是表示时间,仅此而已数量。

我见过未设置使用很少,如果你再次需要一个变量名的东西,你会取消设置,但我相信,如果他们再需要的时候大多数人会使用不同的变量名。

5

你根本不需要解除它。垃圾收集器将照顾它。只有当我认为你需要取消设置的时候,如果你需要这个变量在你的代码中稍后不存在的话。

也许我是在俯视一些东西。

约未设置()

一个原因来取消将是你与一些巨大的对象完成后释放一些内存中的文档见here。 感谢ovais.tariq

+1

垃圾收集确实发生。但假设你正在运行某种非常大的脚本来创建复杂的对象。那么如果不再需要这些复杂对象,那么最好不要设置包含这些复杂对象的变量。否则在某些情况下,你可能会得到内存耗尽的错误在PHP – 2010-08-19 19:20:18

+0

@ovais好评,虽然我不得不说,你的应用程序将是相当大的耗尽内存。 – Chris 2010-08-19 19:23:13

+0

@克里斯,是的,你是对的,但我认为它的东西,提问者应该知道,它可能会在某些类型的数据迁移脚本的发生,。 – 2010-08-19 19:26:41

1

取消设置cookieexpiry变量,就像您所显示的,这里不会有太大的区别,因为它不包含大量数据。

取消设置时,您以前保存在一个变量一些大的数据是有用的,例如像一个复杂的对象和变量没有被进一步

相关问题