嗨我正在看Joomla的代碼,並試圖找出究竟在這個功能發生了什麼。PHP靜態函數self :: in joomla JFactory類的解釋?
index.php文件進行調用的功能
$app = JFactory::getApplication('site');
jfactory.php代碼
public static function getApplication($id = null, $config = array(), $prefix='J')
{
if (!self::$application) {
jimport('joomla.application.application');
self::$application = JApplication::getInstance($id, $config, $prefix);
}
return self::$application;
}
application.php代碼..
public static function getInstance($client, $config = array(), $prefix = 'J')
{
static $instances;
if (!isset($instances)) {
$instances = array();
}
....... more code ........
return $instances[$client];
}
現在,我不能在功能弄清楚getApplication爲什麼是self:使用$ application。
self::$application = JApplication::getInstance($id, $config, $prefix);
$ application始終爲空,使用此方法的目的是什麼。我試着修改它到
$var = JApplication::getInstance($id, $config, $prefix);
和returnig它,但它不起作用。
如果有更多知識的人可以解釋這裏發生的情況,我會很高興。非常感謝。
'self :: $ application'與'$ application'無關。 –