【问题标题】:TYPO3: Uncaught Error: Class not found any class want to use always give me this errorTYPO3: Uncaught Error: Class not found 任何想使用的类总是给我这个错误
【发布时间】:2021-11-14 12:20:39
【问题描述】:

我正在尝试构建一个扩展。在这个扩展中,我试图连接到 TYPO3 的数据库,但我无法访问这个类,并且总是找不到任何类

use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Utility\GeneralUtility;

class rpc {

    /**
     *
     * @var string
     */
    public $tsc_Endpoint = '';

    /**
     *
     * @var string
     */
    public $tsc_tokenID = '';

    /**
     * The main method of the backend module
     */
    public function main(){
        $connection = GeneralUtility::makeInstance(
            ConnectionPool::class)
            ->getConnectionForTable('gpi_configurations');

        $queryBuilder = $connection->createQueryBuilder();
        $query = $queryBuilder
            ->select('*')
            ->from('gpi_configurations')
            ->where('config_name = tsc_Endpoint');

        $rows = $query->execute->fetchRows();
        print_r($rows);


        $client = GeneralUtility::makeInstance(GpiClient::class);
        try {
            $server = GeneralUtility::makeInstance(JsonRpc::class)->__construct($client);
        } catch (\Exception $e) {
        }
        echo  $server->process();

    }


}

    $q = new rpc();
    $q->main();

我想在一个名为 rpc.php 的文件中提到这么多代码

有没有办法访问 rpc.php 上的 TYPO3 功能?我做了很多搜索,但没有找到任何有用的帮助。

installing structure

【问题讨论】:

    标签: typo3 typo3-extensions


    【解决方案1】:

    完整编辑:

    从我们下面的对话中,我认为您需要一个 Middleware 来提供端点。此端点从 TYPO3 数据库中读取数据,并将它们传递给您的 rpc 服务,并以 $response 的形式返回一些 JSON。

    • 为确保自动加载,您的所有 PHP 代码都应放入 Classes/ 文件夹。
    • 您必须在课程中使用namespace Mazen\YourExtensionName\...
    • 我建议将您的 rpc-class 设为服务并将其放入 Classes/Service/,但我可能对您的应用程序了解不够。
    • 阅读有关TYPO3 Doctrine 的文档,尤其是有关WHERE clause 的部分。
    • 阅读和学习一些关于 TYPO3 扩展开发的基础知识可能是个好主意。

    中间件

    教义

    服务

    Service API 本身已被弃用,但您仍然可以将应用程序的某些部分分组到服务中,并使用依赖注入从您需要的任何地方加载它们。

    TYPO3 扩展开发

    【讨论】:

    • 非常感谢,@nito 也许我没听懂你。我需要知道 1-如果我想在 Classes 文件夹之外使用typo3核心功能,这可能吗? 2-我认为可能如何做到这一点,如何扩展typo3类?问题是文件夹供应商路径不包含在 autoload_classmap.php 我更新帖子请检查第二张图片非常感谢您的回答:)
    • 1.您使用哪个 TYPO3 版本? 2. 你是用composer安装的吗?
    • TYPO3 版本 10.4 我通过 GUI 向导安装了它 -> 下载并复制到 xxamp htdocs 文件夹并运行我不使用的安装程序 通过 composer 安装
    • 当你只下载一个存档并运行它而不执行任何composer命令时,你会得到一个“经典模式”的TYPO3。
    • 在您的代码 sn-p 中,您似乎想提供一个 JSON-API 来从 TYPO3 数据库中读取数据,对吗?你想提供这个端点缓存还是不缓存?
    猜你喜欢
    • 2020-09-05
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多