Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php joomla Jfactory不会在joomla webapp(joomla 2.5)中实例化它自己_Php_Joomla_Virtuemart - Fatal编程技术网

Php joomla Jfactory不会在joomla webapp(joomla 2.5)中实例化它自己

Php joomla Jfactory不会在joomla webapp(joomla 2.5)中实例化它自己,php,joomla,virtuemart,Php,Joomla,Virtuemart,我正试图建立一个外部网络应用程序上传一些产品在Joomla!使用virtuemart。 所有的工作都如预期的那样,但是我仍然有一个关于Jfactory::getApplication的问题 我遵循了本教程: 但是,当我在\u构造方法上调用VmModel时,它会调用一个父级::\u构造($config): 这会引发以下错误: vCall到未定义的方法JException::getUserStateFromRequest() 如果可以,还有: vNotice:尝试在第201行的/home/gius

我正试图建立一个外部网络应用程序上传一些产品在Joomla!使用virtuemart。
所有的工作都如预期的那样,但是我仍然有一个关于
Jfactory::getApplication
的问题

我遵循了本教程:

但是,当我在
\u构造
方法上调用
VmModel
时,它会调用一个
父级::\u构造($config)

这会引发以下错误:

vCall到未定义的方法JException::getUserStateFromRequest()

如果可以,还有:

vNotice:尝试在第201行的/home/giuseppe/homeProj/ModaNuovo/libraries/joomla/application/application.php中获取非对象的属性

提出人:

public static function getInstance($client, $config = array(), $prefix = 'J')
{
    if (empty(self::$instances[$client]))
    {
        // Load the router object.
        $info = JApplicationHelper::getClientInfo($client, true);

        $path = $info->path . '/includes/application.php';
        if (file_exists($path))

解决方案是将主应用程序与您的应用程序一起实例化,如果需要,还可以通过以下方式登录:

$app = JFactory::getApplication('administrator');

// create a form token
$user = JFactory::getUser(42);
$session = JFactory::getSession();
$hash = JApplication::getHash($user->get('id', 0) . $session->getToken(true));

如果需要,您还必须执行登录以验证此哈希。

问题在于,JApplicationWeb不扩展JApplication,并且还尝试使其扩展这些方法受到保护!这可能是Joomla3.x中更好的方法$app=JFactory::getApplication('site');//初始化应用程序。$app->initialise();
$app = JFactory::getApplication('administrator');

// create a form token
$user = JFactory::getUser(42);
$session = JFactory::getSession();
$hash = JApplication::getHash($user->get('id', 0) . $session->getToken(true));