Я пытаюсь понять, как был написан FuelPHP .. И так как я мало знаю ООП, я озадачен, когда этот класс:
https://github.com/fuel/core/blob/master/classes/date.php
Вот методы, которые я не понимаю:
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);
}
Что называется первым? Что делает __cctctruct? Что такое фабрика, когда она используется, что она возвращает - она снова вызывает себя? _Init вызывается после инициализации класса? Я действительно озадачен, может кто-нибудь помочь мне понять? Спасибо