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にてhosts設定を行った上で他サイト・サーバにアクセスする方法
開発中の案件だとhosts設定を行ってサーバにアクセスする、ということがある。作 ...
-
-
PHPのログイン認証をPEAR::Authパッケージで実装する方法
PHPのシステムである程度ちゃんとしたログインシステムが必要になった。今までログ ...
-
-
PHPのテンプレートエンジン「Twig」の使い方について簡易メモ
開発中の案件でテンプレートエンジンのTwigを利用する機会があった。使ってみた感 ...
-
-
PHPの$_SERVER["REMOTE_ADDR"]でIPアドレスが正常に取得できない場合
とある環境でPHPの$_SERVER["REMOTE_ADDR"]でIPアドレス ...
-
-
PHPでファイルのダウンロード時に速度制限をかける方法(分割ダウンロード)
オンラインストレージサービス等で有料会員じゃない場合、ファイルのダウンロード時に ...