PHPで指定したディレクトリ内のファイルを全てincludeする方法
PHPでライブラリを利用する際にcomposerからインストールしたものは「vendor/autoload.php」をincludeするだけで良いが、composer以外でインストールした場合は1つずつincludeを書く必要がありこれが面倒。autoload.phpと同じような形になるよう実装方法をメモ。
実装方法
ディレクトリ構成
root/ ├loader.php └library(このディレクトリにライブラリファイルをアップロードする)
loader.php
<?php
$pattern = __DIR__ . '/library/*.php';
foreach ( glob( $pattern ) as $filename ){
include $filename;
}
使い方
以下でloader.phpを呼び出す。
include 'loader.php';
尚、以下を実行するとincludeしているファイルを確認できる。
$included_files = get_included_files();
foreach ($included_files as $filename) {
echo "$filename\n";
}
リファレンス
glob
https://www.php.net/manual/ja/function.glob.php
get_included_files
https://www.php.net/manual/ja/function.get-included-files.php
所感
dBugやclass.upload.php等のファイル1枚で導入可能なライブラリをまとめてincludeしたかったので今後はこの方法を使っていく。
関連記事
-
-
複数(PHP / metaタグ / htaccess)の方法で301リダイレクト
サイトのディレクトリやファイル名を大幅に変えるという案件があった。それ自体は問題 ...
-
-
セレクトメニューとテキストエリアの連動
やりたかった事は、 ・セレクトメニューで何れかを選択すると連動したテキストエリア ...
-
-
PHPで「operator not supported for strings」エラーの対応方法
PHPにて「Fatal error: [] operator not suppo ...
-
-
PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法
他社のAPI等のレスポンスで日時部分が「YYYY-MM-DDTHH:II:SSZ ...
-
-
日付の比較で○日前というのを調べる
PHP及びjavascriptで日付の比較をしたく、締切日とかではなく ○日前と ...