私は共有ファイルcommon.phpを、WEBシステムを構築するすべてのPHPファイルに読み込ませています。
// common.php内のソース
define('COMMON_DIR', dirname(__FILE__));
reuqire_once COMMON_DIR.'db_class.php';//DB処理用クラス
reuqire_once COMMON_DIR.'member_func.php';//会員用関数ファイル
みたいな感じで。requireするファイルを分けているのは、
各用途によってファイル内容を推測出来、わかりやすいからです。
そこでふと疑問に思ったのですが、このように必ずどのページでも
いくつかのファイルを読み込むことで、WEBシステムを運用していく上で、
支障が起きたりしないでしょうか?(例えば、処理速度が遅くなるなど)
common.phpには基本的に関数ファイルしか読み込まないので、
処理が遅いという実感を感じたことはありません。
ですが、上記のやり方を見て「こうした方がいい」「こういう問題がある」
というアドバイス・ご指摘がありましたら、お願いします。
reuqire_once より require の方が早いとか些細な違いはあるが、現在行われている方法が効率的かつ一般的です。
ファイルが分かれていることによるデメリットはほとんどなく、わずかに require/require_once の関数呼び出しコストがかかるだけです。アプリケーション全体としては誤差にしかなりません。
それよりはメンテナンス性を高めるために分割するのはよいことです。
もちろんファイル分割とその中のクラス・関数に関連性がなかったりすると台無しですが。
>メンテナンス性を高めるために分割するのはよいことです。
性能が少々下がっても、分割は良いと思います。
「■性能」のなかで書いてますが
絶対パスで書いた方が処理速度が速くなるようです。
が、実際問題、そんな書き方をする必然性がないと思います。
------------------------------------------------
■性能
http://blog.goo.ne.jp/mihuu1/e/1816a8644f58ec50eea0f9f522e5ddc4
■PHPをキャッシュする
http://www.doyouphp.jp/tips/tips_mmcache.shtml
オープンソースのキャッシュは、怪しいとどうかな?と思うけど。
■PHPをキャッシュしWebアプリを高速に、ゼンド
http://www.atmarkit.co.jp/news/200312/13/zend.html
Zend
URL参考にさせていただきます、
>「読み込むファイルが多いと、ページに負荷がかかって、ブラウザのアクセスが遅くなる」
というよりは、ファイルが増えればHDDへのアクセスが多くなるのでHDDへの負荷が問題になると思います。
1日数万程度のアクセスまでは問題ないと思われます。
確かにファイルが増えればHDDの負荷は増えますね。
ただそれもファイル数が10未満増えるだけですので、気にする程度ではないかも知れませんね。
なるほど。実は最近になって分けるようにしてたのですが、これまでは
「読み込むファイルが多いと、ページに負荷がかかって、ブラウザのアクセスが遅くなる」
っと誤認していました。その様なことはないみたいですね。あと、require/require_onceについても早速参考にさせていただきます。ありがとうございました。