1

我正在尝试编写一个简单的扩展,它使用 Teamspeak3 PHP 框架(https://docs.planetteamspeak.com/ts3/php/framework/)只是为了在提供服务器名称等信息后在前端显示“Teamspeak3_Viewer_HTML”元素, 端口等到后端插件。

问题是:如何在我的扩展中使用“外部”php 框架?我把整个框架源代码放在我的扩展文件夹中,所以我有typoconf/ext/myExtension/Libraries/Teamspeak3 ...

然后我尝试在我的控制器操作中使用它

<?php
namespace Sc\Ts3view\Controller;
use \TeamSpeak3;

/**
 * Ts3viewController
 */
class Ts3viewController extends 
\TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{
  /**
   * action show
   *
   * @return void
   */
  public function showAction()
  {                          
    $server = $this->settings['server'];

    $ts3_VirtualServer = TeamSpeak3::factory("serverquery://".$server["ts_query_admin"].":".$server["ts_query_password"]."@".$server["tsip"].":".$server["ts_query_port"]."/?server_port=".$server["tsport"]."&nickname=".$server["ts_query_user_nick"]."");
    $resulthtml = $ts3_VirtualServer->getViewer(new TeamSpeak3_Viewer_Html("images/viewericons/", "images/countryflags/", "data:image"));

    $this->view->assign('resulthtml', $resulthtml);
  }    
}

但是在前端我只是得到了一个错误

“糟糕,发生错误!代码:20170527153454d1abefa8”

虽然我有 displayErrors 。任何想法如何在我的行动中使用这个框架?

4

1 回答 1

1

首先,您要么需要将环境设置为,要么必须在 TypoScript 模板中Development进行设置。config.contentObjectExceptionHandler = 0

你得到一个异常,因为 TYPO3 自动加载器找不到类。您需要将此添加到您的作曲家自动加载部分:

"autoload": {
   "files": ["libraries/TeamSpeak3/TeamSpeak3.php"]
}

或者您可以直接在您的 root 中要求 composer 包composer.json

composer require planetteamspeak/ts3-php-framework
于 2017-05-28T08:40:01.397 回答