web-dev-qa-db-ja.com

composerを使用しようとすると予期しない 'use'(T_USE)

だから、私はcoinbase APIを使用しようとしています。私はそれを動作させることができるかどうかを確認するための簡単なテストを試みていますが、さまざまなcomposer=エラーが発生しています。

現在、私はこのコードの予期しないt 'use'を取得しています:

            use Coinbase\Wallet\Client;
            use Coinbase\Wallet\Configuration;

            $apiKey = 'public';
            $apiSecret = 'private';
            $configuration = Configuration::apiKey($apiKey, $apiSecret);
            $client = Client::create($configuration);
            $spotPrice = $client->getSpotPrice();
            echo $spotPrice;

だから、私の使用ステートメントは間違った場所にありますか?私はそれらをインデックス関数の外側とクラスの外側で試しました。どちらもこれとはまったく異なる結果セットを生成します。

Keksクラス以外では、

致命的なエラー:15行目の/home/content/61/11420661/html/beta/application/controllers/keks.phpにクラス 'Coinbase\Wallet\Configuration'が見つかりません

そして、クラスの内部ですが、index()関数の外側に

致命的エラー:4行目の> /home/content/61/11420661/html/beta/application/controllers/keks.phpに特性 'Coinbase\Wallet\Client'が見つかりません

Composer.jsonに何か問題がありますか?

完全なコントローラーは次のとおりです。 http://Pastebin.com/4BjPP6YR

13
Dan Smith

使用している場所で「使用」を使用することはできません。

「use」キーワードは、他のクラス/インターフェース/特性を独自の名前空間にインポートするクラス定義の前にあるか、クラスに特性を追加するためにクラス内にあります(メソッド内ではありません)。

<?php
namespace Foo;

use Different\Class; // use can go here

class Bar {
  use TraitCode; // use can go here

  public function baz() {
    $this->traitFunction('etc');
    // use CANNOT go here
  }
}
47
Sven

メソッド内で「use」キーワードのスローエラーを使用しようとすると、codeigniterを使用しています。

だから私はそれを上記のクラス宣言に移動しました。

<?php
  defined('BASEPATH') OR exit('No direct script access allowed');
  use Auth0\SDK\Auth0;

  class Home extends CI_Controller {

  }
?>

うまく動作します。

7
user2215155