問題タブ [psr-7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
323 参照

php - Zend PSR7 は Lumen で動作しませんか?

Zend PSR7 は Lumen では動作しないようです:

最初の「エラー」:

2 番目のエラー:

理由はありますか?

Slim3 のほうが簡単でわかりやすいようです!

0 投票する
1 に答える
2638 参照

php - PSR-7 応答の使用方法

私のアプリケーションの応答の大部分は、ビューまたは JSON です。PSR-7ResponseInterfaceで実装するオブジェクトにそれらを配置する方法がわかりません。

これが私が現在行っていることです:

これが私がPSR-7でやろうとしていることです:

そして、ヘッダーが異なるだけで、JSON 応答についても同様になると思います。私が理解しているように、メッセージ本文は でありStreamInterface、で作成されたファイルリソースを出力しようとすると機能しますfopenが、文字列でそれを行うにはどうすればよいですか?

アップデート

Http\Response私のコードでは、実際にResponseInterfaceは PSR-7 の私自身の実装です。現在 PHP 5.3 で立ち往生しているため、すべてのインターフェイスを実装しましたが、PHP < 5.4 と互換性のある実装が見つかりませんでした。のコンストラクタは次のHttp\Responseとおりです。

出力をコンストラクター引数として受け入れるように実装を変更できます。代わりにwithBody、実装のメソッドを使用することもできますMessageInterface。どのように行うかに関係なく、問題は文字列をストリームに取得する方法です

0 投票する
2 に答える
1250 参照

php - 新しい (Json) 応答が空白のページを表示する (Symfony HttpFoundation)

小さなプロジェクトで HttpFoundation を使用しています。use \Symfony\Component\HttpFoundation\JsonResponse as JsonResponse;

残念ながら、私のすべての応答 (試行さJsonResponseれた 、ResponseおよびBinaryFileResponse) は空白のページのみを返し、エラーはなく、コードは正常に実行されます。

ログにもエラーはありません。

問題にアプローチする方法はありますか?

//明確化のための更新

戻り値HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: application/json {"result":"error","message":"Encrypt is invalid or missing"}

しかし、なぜ機能しreturnないのですか?

0 投票する
2 に答える
17175 参照

guzzle - Guzzle が PSR-7 POST 本文を正しく送信しない

送信されていないか、正しく受信されていません。curlコマンドライン (-d オプションを使用) または PHP から (CURLOPT_POSTFIELDS を使用) 直接使用しても機能します。

PSR-7 リクエストから始めます。

API に対して正しく認証する認証ヘッダーを追加します。

次に、リクエスト本文を追加します。

メッセージを API に送信できます。

返された応答は、「args」パラメーターが API によって認識されなかったことを示しています。認証トークンを引数に移動しようとしました:

これは機能するはずでありコマンド ラインから curl を-d access_token=123456789使用しても機能します ( ) が、API は上記のように cia curl (6.x) を送信するときにもそのパラメーターを認識できません。

メッセージに本文が含まれていることがわかります。

では、ここで何がうまくいかないのでしょうか?パラメータが送信されていないか、間違った形式で送信されているか ('=' がエンコードされている可能性がありますか?)、または間違ったコンテンツ タイプが使用されている可能性がありますか? HTTP メッセージはフォーマットされており、何層にもわたって送信されているため、Guzzle を使用しているときに「ネットワーク上」で送信されているものを確認することは困難です。

編集:リモート API の代わりにローカル テスト スクリプトを呼び出すと、この生のメッセージの詳細が表示されます。

本文が送信されているように見えるので、その本文を解釈する方法をリモート API に伝えるには、他に何かが欠けていると思います。

編集:同じテストスクリプトに送信された、機能するコマンドラインcurlは、リクエストに2つの追加ヘッダーフィールドを提供します:

問題の原因は、Guzzle リクエストにない content-type ヘッダーだと思います。これはGuzzleのバグですか?ドキュメントに記載されている仮定に基づいて、常に Content-Type を送信する必要はありませんか?

0 投票する
1 に答える
891 参照

php - Sf2 RedirectResponse が機能しない

完全な Symfony2 フレームワークを使用せずに、プロジェクトでHttpFoundation コンポーネントを使用しています。一部の資格情報が true の場合にRedirectResponseを作成してユーザーをリダイレクトしようとしましたが (ドキュメントに記載されているように)、returnステートメントが機能していません。

私は持っている:

これを実行しても何も起こりません。しかし、代わりにこれを行うと、Google に正常にリダイレクトされます。

なぜこれは機能するのに機能しechoないのreturnですか? echoクラス ライブラリで使用したくありません。

解決策はありますか?

0 投票する
1 に答える
1256 参照

php - 要求を CURL から PHP の Guzzle に変換して WHMCS API にアクセスする

Guzzle (6.2) の最新バージョンを学習し、cURL 要求を WHMCS API に変換しようとしています。

次のサンプル コードを使用: http://docs.whmcs.com/API:JSON_Sample_Code

同じことを Guzzle で動作させる方法をまだ見つけられていません。

これが私が試したことです:

これは、以前に Guzzle を使用したことがある人にとっては、非常に明白な答えである可能性が高いでしょう。

ここでどこが間違っていますか?

0 投票する
2 に答える
1091 参照

php - PSR7 リクエスト: Slim3 で $_REQUEST などのリクエスト データを取得する

Slim3 をル​​ーターとして使用し、PSR-7 リクエストを使用してアプリケーションをリファクタリングしています。いくつかのエントリ ポイントで、外部アプリケーションからの受信 GET および POST HTTP 要求があります。GET と POST はどちらも同じパラメーター名を使用します。古いコードでは、単純$_REQUESTに問題を解決しましたが、スーパーグローバルはもう使用したくありません。

GET リクエストのパラメーターを取得するために、次のコードを使用します。

POST-Request には、次を使用します。

問題を解決するための PSR-7 機能はありますか、それともarray_merge()毎回使用する必要がありますか?