我試圖理解FuelPHP的編寫方式。由於我不太瞭解OOP,我很困惑這個類: https://github.com/fuel/core/blob/master/classes/date.php在FuelPHP中使用的OOP
以下是我不理解的方法:
public static function _init()
{
static::$server_gmt_offset = \Config::get('server_gmt_offset', 0);
// some code here
}
public static function factory($timestamp = null, $timezone = null)
{
$timestamp = is_null($timestamp) ? time() + static::$server_gmt_offset : $timestamp;
$timezone = is_null($timezone) ? \Fuel::$timezone : $timezone;
return new static($timestamp, $timezone);
}
protected function __construct($timestamp, $timezone)
{
$this->timestamp = $timestamp;
$this->set_timezone($timezone);
}
首先叫什麼? __counctruct的作用是什麼?什麼是工廠,何時使用,它返回什麼 - 它是否再次自稱?初始化類後是否調用_init?我真的很困惑,有人可以幫我理解嗎?謝謝
好的,計算出_init先被調用(來自Fuel核心),當你調用一些方法(例如:Date :: time())時,factory()被調用,然後__conctruct ..謝謝大家的解釋,definitelly nee來檢查工廠模式! – Georgios