私のアプリケーションは、リクエストをフェッチする前に、require_once を使用して、いくつかの関連クラスを含む一連のファイル (ライブラリと言うのを躊躇します) を取得する「中央」ページ コントローラーを使用します。次のように:
require_once (dir_lib . 'db.php');
require_once (dir_lib . 'uuid.php');
require_once (dir_lib . 'data.php');
require_once (dir_lib . 'token.php');
require_once (dir_lib . 'logs.php');
require_once (dir_lib . 'time.php');
等...
最近、(素晴らしいが巨大な) 'HTML Purifier' ライブラリをインストールし、そのオートローダーをちらりと見るまで、わざわざメモリ使用量をチェックしていませんでした。どうやら、オートローダがオンになっていないため、各スクリプト インスタンスのメモリ使用量は 5,376 キロバイトにもなります。(それが最終的な結果である場合、組み込みのオートローダーが何のためにあるのかはわかりませんが、余談です) HTML Purifier がなければ、ほとんどのインスタンスは依然として 1 メガバイト以上の重量があります。
PHP オートロード関数について読んでいると、オートローダーは厳密に OOP 向けに設計されているという印象を受けます。purifier ライブラリを除いて、オブジェクト指向のコードはほとんど使用していません。概念を誤解しているだけですか?各リクエストに不要なクラスの束をやみくもにロードすることを避けるための他の実用的な方法はありますか? それらをすべて事前に含めようとするのが面倒なだけですか?
編集 -
ここでこのコメントを繰り返して、非 oo の意味を明確にします。それが大きな違いを生む場合:
私は基本的に、実際の OOP を (ほとんど) 使用せずに、名前空間の代わりにクラスを使用しています。つまり、「DBFunctions」クラスには、たとえば関数「execute」と「getRow」が含まれる場合があります。関数は、「dbFunctions::execute($sql)」などの静的メソッド呼び出しで呼び出されます。