#概要
ってことでシンプルに行きます。
今の時代メモリの節約や実行速度なんかより、見通しがよくて可読性、保守性の高いコードのほうが好まれるので、できるだけコード全体もシンプルにあるほうがいいと思います。
#クラスファイルのインクルード
HogeController.php
<?php
require_once '../application/models/Model_A.php'; //3つともクラスファイル
require_once '../application/models/Model_B.php';
require_once '../application/models/Model_C.php';
class HogeController{
}
個人的にはあまりこういう書き方はしたくないです。
なのでcomposer.jsonに以下のように記述します。
composer.json
"autoload": {
"classmap": ["./application/models/Model_A.php",
"./application/models/Model_B.php",
"./application/models/Model_C.php",
]
}
そして、ターミナルでそのjsonファイルまで移動して以下を実行。
composer dumpautoload
これでautoloadのみが更新されます。
更新に成功すればcomposerのautoload_classmap.phpの戻り値の配列の中にそれに対応した行が追加されてるはずです。
例: 'Model_A' => $baseDir . '/application/models/Model_A.php',
#それ以外のファイルのインクルード
クラスファイルじゃなくて、単に関数定義とかしてるだけのファイルをオートロードしたいときはこんな感じ。
composer.json
"autoload": {
"files": ["./application/funcs/functions_A.php"]
}
ってことで以上です。