2017-02-10 20 views
1

symfonyでPHPクライアントhttps://iflychat.com/installation/php-chat-clientを使用してiFlyChatを実行しようとしていますが、これはコンポーザを使用して正常にインストールしました。SymfonyでiFlyChatをインストールする

私はコードの拡張子作成しました:

<?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の間にiflychat.phpとしてインストールされています。ファイルの名前をiFlyChat.phpに変更してください。

1

vendor/composer/autoload_psr4.phpを見ると、IflyChat用に自動ロード名前空間が生成されていることを確認できます。

がない場合は、実行することができます。

composer dump-autoload

をあなたの依存関係を自動ロードを再生成するために作曲を強制します。

+0

すでに 'Iflylabs \\' =>配列($ vendorDir。 '/ iflylabs/iflychat-php/lib') 'があります。 – Jonathan

関連する問題