首页 > 解决方案 > TYPO3: Uncaught Error: Class not found 任何想使用的类总是给我这个错误

问题描述

我正在尝试构建一个扩展。在这个扩展中,我试图连接到 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 功能?我做了很多搜索,但没有找到任何有用的帮助。

安装 结构

标签: typo3typo3-extensions

解决方案


完整编辑:

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

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

中间件

教义

服务

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

TYPO3 扩展开发


推荐阅读