gpt4 book ai didi

PHP静态函数self::in joomla JFactory类解释?

转载 作者:可可西里 更新时间:2023-11-01 00:48:17 24 4
gpt4 key购买 nike

你好,我正在查看 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 始终为 null,使用这种方法的目的是什么。我尝试将其修改为

$var = JApplication::getInstance($id, $config, $prefix);

并返回它,但它不起作用。

如果有更多知识的人能够尽可能详细地解释这里发生的事情,我将非常高兴。非常感谢。

最佳答案

self:: 用于访问类的静态成员。

所以在这种情况下,self::$application 用于在 JFactory 中缓存应用程序对象,以避免多次调用更昂贵的 JApplication::getInstance

有关静态的更多信息,请参阅 Static Keyword .

关于PHP静态函数self::in joomla JFactory类解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com