2017-01-24 3 views
0

私は、私が以前持っていた古いコードにComposerを使って作成したクラスをオートロードしようとしています。名前空間がComposerのインポートされたクラスへの呼び出しを中断しました

私の現在のフォルダ構造は、単に以下の、非常に簡単です:

/srcに

  • Searcher.php

  • Authenticator.php

composer.json

index.php

私はもっと多くのファイルを持っていますが、これは重要なものです。

namespace ApiReddit; 

そして、私のcomposer.jsonは以下の通りです:そして、私は私のクラスの両方に以下を追加

{ 
    "require": { 
      "guzzlehttp/guzzle": "^6.2", 
      "adoy/oauth2": "^1.3", 
      "twig/twig": "^1.30" 
    }, 
    "autoload": { 
     "psr-4": {"ApiReddit\\": "src/"}   
    } 

問題は今、以前働いていた私のSearcher.phpファイルにはいくつかの問題を持っていることです。

致命的なエラー:今、次のエラーが発生し

$client = new GuzzleHttp\Client([ 
     'headers' => ['User-Agent' => 'testing/1.0'], 
     'verify' => false]); 
} 

:コードの実行では、私は次の呼び出したクラスのApiReddit \ GuzzleHttpクライアント\ 'を

この手段では見られません新しい名前空間を使用すると、他のコンポーザーにロードされたパッケージとの呼び出しが中断されることになります。どのように私はこれを解決することができますか?直接呼び出すとき

どちらかあなたのサーチャーファイル

use GuzzleHttp\Client; 

class Searcher { 

... 

} 

でクラスをインポート中に明示的またはクラスをエスケープ:

答えて

1

あなたは、2つのいずれかを行うことができます

$client = new \GuzzleHttp\Client([ 
     'headers' => ['User-Agent' => 'testing/1.0'], 
     'verify' => false]); 
} 
1

ルックスを問題のように相対的な名前空間を使用しているということです。変更してみてください:new GuzzleHttp\Clientnew \GuzzleHttp\Client問題を解決する必要があります。

関連する問題