嗨,我正在查看 Joomla 的代码并试图弄清楚这个函数到底发生了什么。
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);
并返回它,但它不起作用。
如果有更多知识的人可以尽可能详细地解释这里发生的事情,我将非常高兴。非常感谢。