her*_*ron 4 php datetime class function autoload
我有一些看起来像这样的方法
public function getTime() {
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/Paris'));
return $date->format('Y-m-d H:i:s');
}
Run Code Online (Sandbox Code Playgroud)
从具有自动加载功能的内部文件调用此方法
function __autoload($class_name) {
global $path;
if (file_exists($path['classes'] . ds . 'class.'. $class_name . '.php')) {
require_once($path['classes'] . ds . 'class.'. $class_name . '.php');
} else {
die($path['classes'] . ds . 'class.'.$class_name . '.php');
}
}
Run Code Online (Sandbox Code Playgroud)
如您所知,DateTime是PHP的内置类.问题是,脚本尝试从类文件夹加载它.此方法在我的本地服务器中工作,但远程Web服务器在返回后死亡.
<path to classes folder>/class.DateTime.php
在这种情况下我该怎么办?
可能是您的方法'getTime()'正在尝试解析当前命名空间中的DateTime类.
如果您希望使用内置的DateTime类,则必须引用全局命名空间.
public function getTime() {
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/Paris'));
return $date->format('Y-m-d H:i:s');
}
Run Code Online (Sandbox Code Playgroud)
至
public function getTime() {
$date = new \DateTime();
$date->setTimezone(new \DateTimeZone('Europe/Paris'));
return $date->format('Y-m-d H:i:s');
}
Run Code Online (Sandbox Code Playgroud)