対象ディレクトリ内のすべてのファイルをrequireする関数
今,Mashup Award 4に出すためのサイトをしこしこと作っていて,多くのAPIを使用することになりそうです.各APIごとにクラスを定義したPHPファイルを作っているので,結構な数のファイルをrequireすることになりそうです.クラスファイルを作成するごとにrequireするのがめんどくさい&たくさんrequireするのが大変なので,対象ディレクトリ内のすべてのファイルをrequireする関数を作ってみました.
<?php function require_all($dir){ $dir_last = substr($dir, -1); if($dir_last !== '/'){ $dir .= '/'; } if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if($file !== '.' && $file !== '..'){ require_once($dir.$file); } } closedir($dh); } } } ?>
使い方は,
<?php //libは読み込むディレクトリの名前 require_all('./lib/'); ?>
と書くだけです.ディレクトリを指定するための記法は,"./lib/"と,"lib/"と,"lib"に対応してます."/lib/"では使えません.