2016-09-27 17 views
0

私はRachet WebSocketsを使って作業していて、簡単なチャットアプリケーションを作成しました。この例では、WebSocket名前空間を使用しています。これは初めての名前空間です。今私はTwilioサービスを追加しようとしていますが、私の名前空間にTwilioを追加することができます。私はhttps://www.twilio.com/docs/libraries/php#using-without-composerPHP - 作曲家名前空間環境でTwilioにアクセスする方法

は、私はそれは私がこのウェブサイトからのステップに従っ

{ 
    "autoload": { 
     "psr-0": { 
      "Websocket": "src" 
     } 
    }, 
    "require": { 
     "cboden/ratchet": "^0.3.3", 
     "twilio/sdk": "^4.5" 
    } 
} 

composer.jsonファイルでautoload_files.php

<?php 

// autoload_files.php @generated by Composer 

$vendorDir = dirname(dirname(__FILE__)); 
$baseDir = dirname($vendorDir); 

return array(
    $vendorDir . '/twilio/sdk/Services/Twilio.php', 
); 

に自動的にロードされて知っています私のクラスのメソッドの中でtwilioをこのように呼び出す:

$AccountSid = "xxxxxxxxxxxxxxxxx"; 
$AuthToken = "xxxxxxxxxxxxxxxxx"; 

$client = new Client($sid, $token); 

$message = $client->account->messages->create(array( 
    'To' => "+555555555", 
    'From' => "+555555555", 
    'Body' => "This is a test", 
)); 

はこのエラーを取得してください:Uncaught Error: Class 'Websocket\Client' not found in ......

私は、作曲と名前空間に非常に新しいです、これは私を助けるために十分な情報であると思います。

+0

興味深いのは、Composerを使用しているときに、なぜそのWebサイトの "without-compos-composer"アンカーにリンクしていますか? – Sven

答えて

0

正しい名前空間、

はそれが前に行方不明になったので、今、私はuse Twilio\Rest\Client;することができるよcomposer require twilio/sd

- Removing twilio/sdk (4.12.0) 
- Installing twilio/sdk (5.4.1) 
Downloading: 100%   

を走りました。

0

名前空間を使用する場合、PHPは常に現在の名前空間の前に付加されていないクラスを探し始めます。

現在の名前空間がWebsocketだろうあなたのケースでは、このようにPHPはこれを防ぐために、クラスWebsocket\Client自動ロードしようとしている、あなたは2つのオプションがあります。

1)useを使用して見てするためにPHPを教える:

use Twilio\Rest\Client; 

2)プリペンド私はTwilioを更新しなければならなかった

$client = new \Twilio\Rest\Client($sid, $token); 
+0

は '$ client = new \ Twilio \ Rest \ Client($ sid、$ token);を試してみました。' Class 'Twilio \ Rest \ Client' not found'というメッセージが表示されましたautoload_psr4またはautoload_namespaceにtwilioを追加する必要がありますか? – K3NN3TH