【发布时间】:2010-01-04 21:19:26
【问题描述】:
我之前问过 aqbout 时区和日期/时间,但这是一个更具体的问题,更多关于 PHP 中的对象。
<?PHP
//set the user's time zone on page load
date_default_timezone_set("America/Los_Angeles");
//convert the timestamp from DB into the user's time
$timestamp = '2008-05-01 13:44:19'; //this would normally be returned from mysql
echo ConvertDateTime($timestamp, "America/Los_Angeles");
//here is the function to convert it
function ConvertDateTime($timeString, $timeZone)
{
if ( $d = new DateTime($timeString) ) {
$d->setTimeZone(new DateTimeZone($timeZone));
return $d->format("Y-m-d H:i:s");
}
return null;
}
?>
好吧,这对某些人来说可能是一个愚蠢的问题,但我对类和对象真的了解不多,也没有太多经验,通常在一个页面上,例如,我将创建 1 个数据库对象并运行每个 mysql 查询具有该 1 个对象集的页面。我一直认为更少的对象可能更好,但我在这个网站上读到,与 1 个对象相比,拥有数百个对象的速度和使用的资源相同,不确定是否属实。
我的问题,在上面的函数中,您可以看到每次调用函数时都会创建一个新的 DateTime 对象,在我的情况下,在某些页面上可能会创建 100 次。那么我应该像单例一样使用,甚至可以在设置数据库对象的标头中设置一个 dattim 对象 1 次,还是应该让函数创建大量对象?
请解释利弊以及我可能应该做的事情,感谢任何建议,有些人可能会说我正在预先优化,我已经优化了 2 年多的当前网站,以便将它放在我想要的地方,现在我正在重建那个相同的网站,所以我有点知道预期的用户负载和内容,我宁愿现在而不是以后修复类似的东西。
【问题讨论】: