Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
在TYPO3扩展中使用TS3 PHP框架_Typo3_Teamspeak - Fatal编程技术网

在TYPO3扩展中使用TS3 PHP框架

在TYPO3扩展中使用TS3 PHP框架,typo3,teamspeak,Typo3,Teamspeak,我正在尝试编写一个使用Teamspeak3 PHP框架的简单扩展 ()仅用于在向后端插件提供服务器名、端口等信息后,在前端显示“Teamspeak3_Viewer_HTML”元素 问题是:如何在我的扩展中使用“外部”php框架?我将整个框架源代码放在扩展文件夹中,因此 typoconf/ext/myExtension/Libraries/Teamspeak3 然后我尝试在我的控制器操作中使用它 <?php namespace Sc\Ts3view\Controller; use \Team

我正在尝试编写一个使用Teamspeak3 PHP框架的简单扩展 ()仅用于在向后端插件提供服务器名、端口等信息后,在前端显示“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);
  }    
}

首先,您需要将环境设置为
开发
,或者必须在打字脚本模板中设置
config.contentObjectExceptionHandler=0

您会得到一个异常,因为TYPO3自动加载程序找不到类。您需要将其添加到composer自动加载部分:

"autoload": {
   "files": ["libraries/TeamSpeak3/TeamSpeak3.php"]
}
或者,您可以直接在根
composer.json
中要求使用composer包

composer require planetteamspeak/ts3-php-framework

谢谢你的回答,我从来没有用过composer autoloader。我现在用“use\TeamSpeak3;”在我的控制器中,用你的TypoScipt代码开发环境,我得到了一个异常“无法解析地址”MyTeamSpeakAddress.net。所以我认为类正在工作,这个问题已经解决了,我必须继续问另一个问题,为什么它不能连接到我的teamspeak服务器。Thx很多。。。