Mage::getVersion()
Метод визначається тут
#File: app/Mage.php
public static function getVersion()
{
$i = self::getVersionInfo();
return trim("{$i['major']}.{$i['minor']}.{$i['revision']}" . ($i['patch'] != '' ? ".{$i['patch']}" : "")
. "-{$i['stability']}{$i['number']}", '.-');
}
Переходячи до getVersionInfo
посилань вище, ми знаходимо наступне
#File: app/Mage.php
public static function getVersionInfo()
{
return array(
'major' => '1',
'minor' => '7',
'revision' => '0',
'patch' => '2',
'stability' => '',
'number' => '',
);
}
Отже, Magento використовує масив, повернутий getVersionInfo
методом, для створення номера версії. Ми можемо це зробити вручну (з розумом) і придумати версію 1.7.0.2 для перерахованого вище методу. Якби ми знайшли
public static function getVersionInfo()
{
return array(
'major' => '1',
'minor' => '5',
'revision' => '0',
'patch' => '0',
'stability' => 'beta',
'number' => '1',
);
}
Ми б знали, що версія була першою бета-версією 1.5.0.0.
Однак, якщо сайт зламали, всі ставки вимикаються - оскільки хакери, ймовірно, змінили файли декількох класів та створили версію Magento, яка не існує.