1

http://phphttpclient.comから、「インストール オプション 1」と最初の「クイック スニペット」に従いました。

Request undefined で、次のようになります。

ここに画像の説明を入力

ここに画像の説明を入力

さらに、おそらく関連して、コード サンプルの 1 つに「$response = Request::get」とあり、別のコード サンプルに「$response = \Httpful\Request::get」とあるという事実に混乱しています。後者は有効な PHP ですか?

私はPHP 5.6.7を持っています。

ここに画像の説明を入力

私は何を間違っていますか?

4

2 に答える 2

6

はい、\Httpful\Request::get()有効な PHP です。Request名前空間でクラスを探していることを PHP に伝えますHttpful。名前空間の詳細: http://php.net/manual/en/language.namespaces.php

を呼び出すことはできますが、呼び出す\Httpful\Request::get()ことができない理由は、Request::get()名前空間に関連しています。ではindex.php、名前空間を定義していません。Requestそのため、PHPはグローバル空間でクラスを探すだけです( を呼び出すときRequest::get())。RequestPHP は、別の名前空間にクラスがあるかどうかをチェックしません。

useクラスを使用するたびに名前空間全体を入力する必要がないように、クラスを (インポート)できますRequest

<?php

use Httpful\Request;
$request = Request::get()

# you can also rename the class if you have multiple Request classes
use Httpful\Request as Banana;
$request = Banana::get()

そのテーマの詳細: http://php.net/manual/en/language.namespaces.importing.php

于 2015-07-18T13:47:26.003 に答える
1

著者が提案した「クイックハック」インストールに従っただけで、同じ結果が得られました。次に、完全修飾名前空間を使用して動作させました。

なので :

$response = \Httpful\Request::get($uri)->send(); // qualified namespace here

タイヤを蹴っている間はハックに固執し、ライブラリを採用する場合は、作曲家の道に進みます(はるかに優れたものです)。

于 2015-07-18T13:27:09.483 に答える