PHPフレームワークやオープンソースの勉強するときに超役立つ関数get_included_files()

PHPを触り始めて、結構な年月がたつのですが、こんな便利な関数があるとは、今更ながら、知りませんでした。恥ずかしいというか、人生の無駄をしてきたような。。。

それが、get_included_files関数です。何が便利かというと、どのファイルが読み込まれているのか、出力してくれます。今までは一から、検索をかけたり、読み込まれている部分を追ったりしてました。

get_included_filesinclude または require で読み込まれたファイルの名前を配列として返す

PHPマニュアルより引用

下記はサンプルになります。get.phpがget1.phpを読み込み、get1.phpがget2.phpを読み込み、echoしています。普段はこんなechoをすることはありませんが、フレームワークを用いるとき、index.phpにアクセスし、複数ファイルを起動させることはよくあります。

get.php

<?php
    require_once("get1.php");
	$included_files = get_included_files();
	foreach ($included_files as $filename) {
			    echo "$filename\n";
	}

get1.php

<?php
    require_once("get2.php");

get2.php

<?php
    echo "test\n";

これを実行します。

結果は

$ php get.php 
test
/Users/satoyuta/workspace/test/get.php
/Users/satoyuta/workspace/test/get1.php
/Users/satoyuta/workspace/test/get2.php

どのソースコードを読み込んで、くれたかが一目でわかります。オープンソースやフレームワークを用いる時、人のソースコードを読むときなど大活躍してくれそうです。

もっと、早く知っておけばよかったなと思いました。

コメント

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