Laravelデバック方法:AjaxやWebhookからのアクセスはfile_put_contentsで見える化できる

Laravelデバック対策

LaravelでAjaxやWebhookを使う場合は、file_put_contents()を使うと、コントローラで受け取った値を見える化できます。

通常はddを使えば良いのですが、AjaxやWebhookからのアクセスはブラウザに表示できないため、ddが使えません。

そこでfile_put_contentsを利用します。

Junko
Junko

実際のコードをお見せしながら、使い方を解説していきますね。

Laravelデバック方法:AjaxやWebhookからのアクセスはfile_put_contentsで見える化をしよう

今回はStripeのWebhook処理を例に解説します。

Stripeに入金があったときにWebhookでLaravelプロジェクトに通知がくるようにしてあります。

StripeのWebhookでは、$payloadによって、次のような形でデータを受け渡します。

① var_exportを使って値を見える化

まずは$payloadのdataに入った値をすべて見える化していきましょう。

次のようにコントローラに入力すると、public/text.txtファイルに、$paload[‘data’]の値を転記できます。

なお上記のコードではfile_put_contantsの中でvar_exportを使用しています。

それぞれの関数の意味は、次のとおりです。

file_put_contents: データをファイルに書き込む
var_export: 変数の文字列表現を出力または返す
Junko
Junko

var_exportではtrueを設定しておくと、変数表現を出力する代わりに、返してくれます。

② 特定の情報だけを取り出す

特定の情報だけ取り出すには、配列から値を取り出していきましょう。

“amount” 情報を取り出して、test.txtファイルに追記する処理を書いてみます。

file_put_contentsの引数で FILE_APPENDを使うと、出力用ファイルに情報を追記できます。

さいごに

以上、Webhookで受け取った値を見える化する方法を解説しました。

なお今回はStripeを例にしましたが、StripeのWebhookについては別の記事で解説しています。

また受取った値を見える化するには、Laravelのデバックツール、Telescopeも役立ちます。

下記で紹介しているので、興味あれば、併せて読んでみてくださいね。

Laravelデバック対策

【Laravelの教科書・無料プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック
【個別サポート実施中】

「本ブログに記載の方法を試してみたけれど、うまくいかない」「コードを見てほしい」という方のために、有償でメールサポートいたします。以下のボタンをクリックして相談フォームにアクセスして下さい。

詳しく見る

Twitter始めました。
40代からプログラミング!

コメント

タイトルとURLをコピーしました