JFactory导入失败

2023-12-28

我正在尝试为 Android 应用程序制作一个登录系统,该系统可与我的 2.5 Joomla 网站一起使用。我试图通过制作一个 Joomla 插件来做到这一点,Android 应用程序将发布数据发送到 php 文件,然后该文件对用户进行身份验证,以查看登录凭据是否正确。我整个下午都在努力让它工作,但似乎我所有导入 JFactory 的尝试都失败了。

我有下面的代码,在第一次提到 JFactory 时就会出现错误。我尝试导入它也不起作用。

<?php
//needed to be commented out otherwise the android application cannot send data to the file
//defined('_JEXEC') or die;

define('_JREQUEST_NO_CLEAN', 1); 
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

if (file_exists(dirname(__FILE__) . '/defines.php')) {
    include_once dirname(__FILE__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
    define('JPATH_BASE', dirname(__FILE__));
    require_once JPATH_BASE.'/includes/defines.php';
}

require_once JPATH_BASE.'/includes/framework.php';
require_once JPATH_BASE.'/includes/helper.php';
require_once JPATH_BASE.'/includes/toolbar.php';
require JPATH_BASE.'/library/joomla/factory.php';

$email = $_POST['email'];
$password = $_POST['password'];
file_put_contents("Log.txt", "got data: ".$email." and ".$password);
$credentials->email = $email;
$credentials->password = $password;
$responce;

//error occurs here
$db     = JFactory::getDbo();
...
?>

我已经查看了有关导入 JFactory 的其他问题,但没有一个对我有用:
- 在 /var/www/joomla2.5/database.php 中找不到 JFactory、JDatabase 类 https://stackoverflow.com/questions/17939546/jfactory-jdatabase-class-not-found-in-var-www-joomla2-5-database-php
- 未找到“JFactory”类 https://stackoverflow.com/questions/8320773/class-jfactory-not-found
- 在外部 php 文件 Joomla 中包含 Jfactory 类 https://stackoverflow.com/questions/9459430/include-jfactory-class-in-an-external-php-file-joomla

所以我的简化问题是如何导入 JFactory 或至少在这种情况下解决它?任何感觉比我聪明的人都会很乐意回答这个问题:)

一般信息:

  • 运行 php 5.1.13
  • Joomla 2.5
  • 在 wamp 服务器(本地主机)上测试

我建议采用官方 Joomla 方式并引导应用程序。我所做的工作非常好,并且是推荐的 Joomla 方式(我没有测试下面的代码,但它应该为您提供一个起点,因为它是从我的代码中的多个源复制粘贴的)。

define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);

error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors', 1);

define('JPATH_BASE', dirname(dirname(dirname(__FILE__))));
require_once JPATH_BASE.DS.'includes'.DS.'defines.php';
require JPATH_LIBRARIES.DS.'import.php';
require JPATH_LIBRARIES.DS.'cms.php';

JLoader::import('joomla.user.authentication');
JLoader::import('joomla.application.component.helper');

class MyJoomlaServer extends JApplicationWeb {

    public function doExecute() {
        $config = JFactory::getConfig();
        $email = $_POST['email'];
        $password = $_POST['password'];
        $user = ...;//get the user with the email
        file_put_contents("Log.txt", "got data: ".$email." and ".$password);
        $authenticate = JAuthentication::getInstance();
        $response = $authenticate->authenticate(array('username' => $user->username, 'password' => $password));

        return $response->status === JAuthentication::STATUS_SUCCESS;
    }

    public function isAdmin() {
        return false;
    }
}

$app = JApplicationWeb::getInstance('MyJoomlaServer');
JFactory::$application = $app;
$app->execute();

类似的东西对我有用。更多平台示例可以在这里找到https://github.com/joomla/joomla-platform-examples/tree/master/web https://github.com/joomla/joomla-platform-examples/tree/master/web.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JFactory导入失败 的相关文章

随机推荐

  • 如何从cookie中获取Web Session?

    我正在尝试抓取网页 但为了发布数据 我需要一个网络会话 ID 例如 web session HQJ3G1GPAAHRZGFR 我怎样才能得到那个ID 到目前为止我的代码是 Private Sub test Dim postData As S
  • “my_app.app/ResearchKit/ResearchKit/Info.plist”处的捆绑包不包含捆绑包可执行文件

    UpdateXCode 版本 8 2 iOS 目标 9 希望有人能向我指出这不是一个错误 非常简单 我提取了最新稳定版本的 researckKit 然后将 xcodeproj 文件放入我的新 iOS 项目中 添加了嵌入式二进制文件 我创建了
  • 为什么 std::cin 字符串输入要求我输入每个空格

    这周我开始研究 C 中的文本文件 在练习中我必须编写一个程序 让用户在文件中输入行 但是 对于用户输入的每个空格 程序都会向用户询问新的空格 这是我的代码 include
  • Android 无法恢复密钥

    我在 Android Studio 中恢复密钥时出错 我知道密钥别名 并且拥有两者的正确密码 我知道这一点是因为我能够运行 keytool list v keystore mykeystore jks alias myKey storepa
  • Rhandsontable 条件格式 - 如何根据特定属性值突出显示行?

    我想根据值对整行应用颜色突出显示 并保留 rhandsontable 的复选框功能 在下面的简单示例中 我希望第 3 行为粉色 第 4 行为绿色 library rhandsontable DF data frame bool TRUE v
  • Java 重载和覆盖

    我们总是说方法重载是静态多态 重写是运行时多态 这里的静态到底是什么意思 对方法的调用是否在编译代码时解析 那么普通方法调用和调用final方法有什么区别呢 编译时链接的是哪一个 方法重载意味着根据输入创建函数的多个版本 例如 public
  • .Net Remoting:指示使用哪个本地接口连接到一台服务器

    我们有一个通过 Net 远程处理连接的服务器 The server is on two network the client is on two network The client and the server have only one
  • 从“@Angular”而不是“Angular2”导入{*}

    我对 Angular2 有点困惑 许多例子表明 import Component from angular core 但实际上在node module有angular2目录存在 所以从逻辑上来说应该是 import Component fr
  • 3.0之后如何使用initWithStyle制作自定义TableViewCell

    我正在尝试使用 initWithStyle 自定义 TableViewCell 因为它说 initWithFrame 在 3 0 后已弃用 之前 initWithFrame 一切正常 有可用的教程或示例代码吗 谢谢 我对 UITableVi
  • oracle将数字转换为日期sql

    我正在尝试转换一个数字 yyyymmdd 迄今为止 mm dd yyyy 例如 20150302 gt 03 02 2015 你可以试试这个 select to date 20150302 yyyymmdd from dual or sel
  • 多对多 Spring Data JPA 关系中的额外列,变化最小

    我需要更改项目的模型 现在 我们有两个具有双向多对多关系的类 这意味着在关系表中 现在需要向关系添加额外的信息 我的问题是 唯一的方法是为关系创建一个类 例如 使用与已存在的关系表相同的名称创建一个类 我这么问是因为如果我们需要改变项目中的
  • 有没有办法在 Visual Studio 中自动更新已安装的 NuGet 包?

    正如标题所示 我想知道是否有一种方法可以在包源中出现新版本时自动更新已安装的 NuGet 包 该用例是一个将某些公司策略 代码分析 签名等 应用于我们的项目的包 一旦该包更新 我希望能够为此包配置自动更新 我确实知道 NuGet 有一个包恢
  • Python 列表是否保证其元素保持插入的顺序?

    如果我有以下Python代码 gt gt gt x gt gt gt x x 1 gt gt gt x x 2 gt gt gt x x 3 gt gt gt x 1 2 3 Will x保证永远是 1 2 3 或者临时元素的其他顺序是否可
  • Xpath选择多个标签

    我想要使 用 PHP DOMXPath 查询的多个标签 td 和 th 我该怎么做 您可以使用 联盟 运营商 这是一个例子 doc new DOMDocument doc gt loadHTML table tr th table head
  • 使用自动滚动向面板添加控件 (c#)

    我有一个带有属性的面板AutoScroll true 通过动态地将其他控件添加到面板而不滚动 一切正常 void addControl int top 13 this Controls Count cmdSet Height ucComma
  • 如何定义 R 函数的参数类型?

    我正在编写一个 R 函数 并且我想确保我的 R 函数的参数属于某个类 例如 矩阵 做这个的最好方式是什么 假设我有一个函数 foo 它计算矩阵的逆 foo lt function x I want to make sure x is of
  • 名称冲突的类的构造函数

    我正在使用 clang 使用 c 14 方言编译我的代码 举个例子 class x int i public x int i this gt i i void x void f class x my x Do something here
  • jboss 7.1 xalan 问题?

    我正在尝试在 JBoss7 上创建基于 Apache Jena 的应用程序 Apache Jena 使用 Xalan 2 11 0 JBoss 7 附带 2 7 1 当我尝试调用该应用程序时 出现异常 其根源是 org apache xer
  • 记录函数闭包

    例如 假设我的包中有一个函数闭包 f function x x x g function y x lt lt y h function x list g g h h l f 5 l g 10 l h 什么是正确的 在官方CRAN http
  • JFactory导入失败

    我正在尝试为 Android 应用程序制作一个登录系统 该系统可与我的 2 5 Joomla 网站一起使用 我试图通过制作一个 Joomla 插件来做到这一点 Android 应用程序将发布数据发送到 php 文件 然后该文件对用户进行身份