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のhash_file関数でファイルの改ざんを検知する方法
サイト内の特定の数ページのみ簡易的なものでも良いので自動でファイルの改ざんチェッ ...
-
-
PHPにて文字のあいまい検索(文字のゆれ)を実装する方法
Googleで検索する際に、ちょっと間違えて入力してしまっても「もしかして○○? ...
-
-
Cookieをできるだけ長い期間保存する方法
あるシステムの中でCookieを可能な限り長い期間保存したいというリクエストを受 ...
-
-
CodeIgniter4でGET / POSTパラメータの受け取りとルーティング設定方法
CodeIgniter4.4.4でページを開いた際にGET / POSTパラメー ...
-
-
PHPからCSVファイルを出力する際にメモリを節約する方法
MySQLよりデータを大量に取り出してCSVファイル化し、ダウンロードさせるとい ...