2017-02-10 5 views
1

Я пытаюсь запустить iFlyChat с помощью Symfony с помощью своего PHP-клиента https://iflychat.com/installation/php-chat-client, который я успешно установил с помощью композитора.Установка iFlyChat с Symfony

Я создал расширение для кода:

<?php 

namespace DW\UserBundle\Twig; 

use DW\UserBundle\Service\UserService; 
use Iflylabs\iFlyChat; 

class ChatExtension extends \Twig_Extension 
{ 
    /** 
    * @var UserService 
    */ 
    private $userService; 

    /** 
    * @var string 
    */ 
    private $appId; 

    /** 
    * @var string 
    */ 
    private $apiKey; 

    /** 
    * @param UserService $userService 
    * @param string $appId 
    * @param string $apiKey 
    */ 
    public function __construct(UserService $userService, string $appId, string $apiKey) 
    { 
     $this->userService = $userService; 
     $this->appId = $appId; 
     $this->apiKey = $apiKey; 
    } 

    /** 
    * @return array 
    */ 
    public function getFunctions() 
    { 
     return [ 
      new \Twig_SimpleFunction("chat", [$this, "chat"]) 
     ]; 
    } 

    public function chat() 
    { 
     $iflyChat = new iFlyChat($this->appId, $this->apiKey); 
     echo $iflyChat->getHtmlCode(); 
    } 

    /** 
    * @return string 
    */ 
    public function getName() 
    { 
     return 'chat_extension'; 
    } 
} 

, но я получаю сообщение об ошибке:

Attempted to load class "iFlyChat" from namespace "IFlyLabs". Did you forget a "use" statement for another namespace?

мне нужно сделать что-то с автозагрузчиком делать? Я просматривал registerPrefixes here, но этого больше не существует для Symfony3.2.

ответ

0

Это потому, что имя файла не совпадает с именем класса, оно установлено как iflychat.php, а класс - iFlyChat. Переименование файла на iFlyChat.php работ.

1

Посмотрите на vendor/composer/autoload_psr4.php, чтобы вы могли убедиться, что существует пространство автозагрузки, созданное для IflyChat.

Если вы не можете выполнить:

composer dump-autoload

, чтобы заставить композитора регенерировать автозагрузку для зависимостей.

+0

Это уже есть '' Iflylabs \\ '=> array ($ vendorDir.'/Iflylabs/iflychat-php/lib ') ' – Jonathan

Смежные вопросы