2014-09-28 115 views
0

我偶然发现的东西似乎很有趣,唤醒了我的好奇心。我在一篇微型优化文章中读到,当我需要UNIX时间戳时,使用反正现在的$_SERVER['REQUEST_TIME']而不是调用time()会很明智。我想问一下,如果这首先是可靠的,如果我敢肯定,我的应用程序将始终在HTTP运行,其次会是聪明覆盖默认time()功能

function time(){ 
    return $_SERVER['REQUEST_TIME']; 
} 

因为重构 - AIN'没有人有时间!

+0

如果您创建一个新函数来获取该值,那么使用'$ _SERVER ['REQUEST_TIME']'获得的任何微优化可能都会丢失。 – 2014-09-28 09:21:56

+0

那么**如果**默认'time()'是通过乘以1970年以来的天数乘以86400或类似的东西来计算秒数,那么代替创建另一个函数仍然更快,没有任何意义。我不是在争辩:? – 2014-09-28 09:25:15

+0

我非常怀疑'time()'在系统上做的事情不止是调用'time +%s'。 – 2014-09-28 09:28:09

回答

1

它是有道理的,但这是不正确的。因为使用time()的时间是当前准确的系统时间,而$_SERVER['REQUEST_TIME']是PHP在请求页面时填充的常量。如果页面花费时间加载并最终调用$_SERVER['REQUEST_TIME'],则time()$_SERVER['REQUEST_TIME']的值将有所不同。

也覆盖time()不会是一个好主意。因为直接调用$_SERVER['REQUEST_TIME']时,没有由PHP维护的堆栈,但是当覆盖time()(始终在您的代码天气中调用或不调用)时,从应用程序体系结构角度来讲,在系统资源方面将花费更多成本。

+0

有道理。那么重构 - 我想我会'找时间'。 – 2014-09-28 09:27:35

相关问题