PHP

【PHP】ファイル分割・マジック定数・デバッグ

kurumin

PHPのファイルの分割

以下のコードでファイルを読み込ませることができる。

require('パス');

関数が他の部分で宣言されていると動作不具合を出すので
関数が宣言されてないときに宣言するという手法がよく使われる。

require('file.php');

function fn1() {
  echo 'index.php';
}

fn1();
if(!function_exists('fn1')) {
  function fn1() {
   echo 'file.php';
  }
}

require_once()という関数もあり、それは最初の1回だけ読み込みを行い、それ以降の読み込みは無視される。

require()はファイルがない場合エラーが表示される。

include()関数もあり、こちらはファイルがなくても画面は表示される。

requre()は関数を読み込む際に使い、include()はHTMLを読み込む際に使われることが多い。

マジック定数

echo __DIR__;

実行中のファイルまでのパスが表示される。

echo __FILE__;

実行中のファイル名を含めたパスが表示される。

echo dirname(__FILE__, 2)

dirname関数を使うと、第二引数が指定できる。
2と入力すると、2階層上がったパスが出力される。
省略するとデフォルト引数が1なのでDIRと同じ階層が表示される。

PHPのデバッグ

var_dump()

変数の型や値を含む構造化された情報を取り出す。
改行がないので見づらい。

print_r()

型の確認が必要ないときや、返り値として出力がほしいときに使用する(変数に入れることができる)

<pre></pre>

整形して表示させる。

echo '<pre>';
print_r($変数)
echo '</pre>';

本番環境のエラーをファイルに出力

php.iniの以下の部分を確認。

error_log="パス"

サーバー側の設定で、出力されていない場合もある。

そんなときは、phpinfo()で出力場所を確認できる。

本番環境のためエラーを画面に出したくない場合はdisplay_errorsをoffにする。

開発中のデバック用ソース

ini_set("display_errors", 'On');
error_reporting(E_ALL);
ABOUT ME
記事URLをコピーしました