2

残りの呼び出しを行うための新しいphpライブラリであるunirestを使用しようとしています。

プロジェクトの上のシステム全体のディレクトリに配置したいと思います。私はそれを含めます:

require_once ('../unirest-php-master/lib/Unirest/Unirest.php');

うまくロードします。次に、readme ごとに使用します。

$response = Unirest::post(CSWA_URL ....

Fatal error: Class ' Unirest ' not found in ...hello_world/sign_start.php 行 23 が表示されます

次に、名前空間を使用しようとします (ライブラリのコードを参照してください。クラスNamespace Unirestを宣言する前にステートメントを使用します)。Unirest

$response = Unirest\Unirest::post(CSWA_URL ....

さらに進みました。現在: Fatal error: Class 'Unirest\HttpMethod' not found in ....unirest-php-master/lib/Unirest/Unirest.php 行 26 -- これはライブラリ コードのエラーです!

Q: 私は何か悪いことをしましたか? Unirest の作成者は間違いを犯しましたか? ライブラリを ./lib に配置する必要がありますか? 最良の修正は何ですか?

4

1 に答える 1

6

Unirest.php 内の Unirest コードは、unirest lib ディレクトリ内の他の 2 つのファイル (HttpMethod.php および HttpResponse.php) からの自動読み込みコードに依存しているようです。

著者はcomposerを使用してパッケージをインストールすることを提案しています。その場合、composer は生成する autoloader.php スクリプトに Unirest 名前空間を追加します。そこから、スクリプトの先頭で autoload.php ファイルを require する必要があり、定義されていないクラスのロードを処理します。

または、composer を使用したくない場合は、スクリプトの上部にある unirest lib ディレクトリにある他の 2 つのファイルも必要です。

于 2013-04-28T20:52:45.303 に答える