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でCookie保存時にSameSite属性を設定する方法
あるシステムのセキュリティ対策としてCookie保存時にSameSite属性をS ...
-
-
PHPで複数の送信先に一括でメールを送る方法
PHPで複数の送信先に一括でメールを送信したかった。配列とかで指定するのかと思っ ...
-
-
MySQLで直近に挿入したオートインクリメントの値と次回挿入する値を取得する方法
phpとmysqliを使っている中で次回挿入するオートインクリメントの値と、前回 ...
-
-
PHPとGoogle Authenticatorの組み合わせで2段階認証を実装する方法
2段階認証と言えばSMS送信のケースが多く、その次に通常のメール送信というケース ...
-
-
PHP7.4でAPCuとOPcacheをインストールする方法
先日本ブログのサーバをCentOS6系から7系に移行し、その際にMySQLのバー ...