質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

3回答

3370閲覧

API phpでのデバッグ方法

earnest_gay

総合スコア615

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/04/02 14:16

phpのFWを使ってAPIを作ってajaxで使おうとしています。

apiじゃなくて普通のcontrollerなら画面系なのでvar_dumpとかで途中の値を確認することができますが、apiなどの画面を必要としないcontrollerで途中の処理で
「本当にこの段階でこの値取れているのか?」
と確認したいときがあると思います。

そういった時どうやって確認したらよいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

がると申します。

FWにもよりますが「ログファイルにログを書きだす機能」が付いている事も多いので、ログに「デバッグ用の出力を色々と出してみる」というのも、手段としては、ありかと思いますが、如何でしょうか。

投稿2018/04/02 14:55

gallu

総合スコア506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

earnest_gay

2018/04/02 14:57

ありがとうございます。 そちら思いついて今試しているのですが、どうも書き込めないみたいなのです。 私の設定でなにかがおかしいだけだと思いますが。、、 https://teratail.com/questions/120081
gallu

2018/04/03 14:15

なるほど。 本来的には「ちゃんとログが記述できるようにする」のが大切だとは思うのですが。 一端の場当たりであれば、file_put_contentsなどを使って「自力でテキストに書き込む」程度でも、デバッグの用途としては、一旦は片付くように思われますが如何でしょうか? var_dumpなども比較的簡単にファイルへの書き込みができるので、もしわからなければ、またコメントなどいただければ、と思います。
guest

0

自己解決

結局、下記を基底クラスに持たせた。

/** * デバッグ機能。 * * logs/$env/apiへ書き込みを実行。 * 文字列、配列、オブジェクト、全てが書き込み可能。 * * @access protected * @param mixed $date */ protected function _write($date) { if (is_bool($date)) { // 真偽値の場合、空文字が記載され分かりづらい為。 $date = $this->_is_boolean($date); } // 書き込みファイルの設定。 $write_path = APPPATH.'logs/'.Fuel::$env.'/api/'; $date_format = '%Y%m%d'; $write_extension = 'log'; $write_file = Date::time()->format($date_format).'.'.$write_extension; // 書き込み冒頭の設定。 $contents_prefix = 'DEBUG - '; $run_time = Date::time()->format('%Y-%m-%d %H:%M:%S'); $contents_extension = ' -->'; // 実行。 $file_point=fopen($write_path.$write_file,'a'); @fwrite($file_point,print_r("\n\n".$contents_prefix.$run_time.$contents_extension."\n", true)); @fwrite($file_point,print_r($date, true)); fclose($file_point); } /** * デバッグ機能。 * * 変数がtrue, false 以外の場合、明示的にtrue, false を返す。 * * @access protected * @param boolean $date * @return boolean */ protected function _is_boolean($date) { if ($date) { return 'true'; } return 'false'; }

投稿2018/04/03 16:48

earnest_gay

総合スコア615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ブラウザの開発者ツールを使うのが通常の方法です。

投稿2018/04/02 14:39

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問