尝试使用composer时意外'使用'(T_USE)

Dan*_*ith 15 php oop namespaces

所以,我正在尝试使用coinbase API.我正在尝试一个简单的测试,看看我是否可以使它工作,但我得到各种作曲家错误.

目前,我正在为这段代码意外地"使用":

            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;
Run Code Online (Sandbox Code Playgroud)

那么,我的使用陈述是在错误的地方吗?我已经在索引函数之外和类之外尝试过它们.两者都产生完全不同的结果集.

在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中找不到Trait'Coinbase\Wallet\Client'

我的composer.json可能有什么问题吗?

完整的控制器在这里:http://pastebin.com/4BjPP6YR

Sve*_*ven 52

您不能在使用它的地方使用"使用".

"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
  }
}
Run Code Online (Sandbox Code Playgroud)


use*_*155 7

当我尝试使用"use"关键字在方法中抛出错误时,我正在使用codeigniter.

所以我把它移到了上面的类声明中.

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

  class Home extends CI_Controller {

  }
?>
Run Code Online (Sandbox Code Playgroud)

它的工作正常.