問題タブ [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.
php - Zend PSR7 は Lumen で動作しませんか?
Zend PSR7 は Lumen では動作しないようです:
最初の「エラー」:
2 番目のエラー:
理由はありますか?
Slim3 のほうが簡単でわかりやすいようです!
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
。どのように行うかに関係なく、問題は文字列をストリームに取得する方法です。
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
ないのですか?
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 を送信する必要はありませんか?
php - Sf2 RedirectResponse が機能しない
完全な Symfony2 フレームワークを使用せずに、プロジェクトでHttpFoundation コンポーネントを使用しています。一部の資格情報が true の場合にRedirectResponseを作成してユーザーをリダイレクトしようとしましたが (ドキュメントに記載されているように)、return
ステートメントが機能していません。
私は持っている:
これを実行しても何も起こりません。しかし、代わりにこれを行うと、Google に正常にリダイレクトされます。
なぜこれは機能するのに機能しecho
ないのreturn
ですか? echo
クラス ライブラリで使用したくありません。
解決策はありますか?
php - 要求を CURL から PHP の Guzzle に変換して WHMCS API にアクセスする
Guzzle (6.2) の最新バージョンを学習し、cURL 要求を WHMCS API に変換しようとしています。
次のサンプル コードを使用: http://docs.whmcs.com/API:JSON_Sample_Code
同じことを Guzzle で動作させる方法をまだ見つけられていません。
これが私が試したことです:
これは、以前に Guzzle を使用したことがある人にとっては、非常に明白な答えである可能性が高いでしょう。
ここでどこが間違っていますか?
php - PSR7 リクエスト: Slim3 で $_REQUEST などのリクエスト データを取得する
Slim3 をルーターとして使用し、PSR-7 リクエストを使用してアプリケーションをリファクタリングしています。いくつかのエントリ ポイントで、外部アプリケーションからの受信 GET および POST HTTP 要求があります。GET と POST はどちらも同じパラメーター名を使用します。古いコードでは、単純$_REQUEST
に問題を解決しましたが、スーパーグローバルはもう使用したくありません。
GET リクエストのパラメーターを取得するために、次のコードを使用します。
POST-Request には、次を使用します。
問題を解決するための PSR-7 機能はありますか、それともarray_merge()
毎回使用する必要がありますか?