spl_autoload_registerでrequire_onceだらけのソースをスッキリさせましょう。

By | 2015/01/16 8:28 PM

便利ですよね
spl_autoload_register

newした時にそのクラスが無ければ探しに行ってくれる というような感じです。

ということで簡単な使い方です。

document_root/
 ├index.php
 └class/
    ├Hoge/
    │ └hoge.class.php
    └Fuga/
      └fuga.class.php

的な感じのファイル構成だとしましょうか。

って感じにしておけばOK。

また、
require
する時に

みたいな事してやれば、デバッグで$autoload_listを出力させてやれば、どんな順番でclassが読まれてるか分かる。
で、file_existsのif にelse付けてやって

ってしとくのもありっちゃ有りです。
(try catch で例外受けるほうがいいと思うけど割愛)

spl_autoload_register部分を共通ファイルとかにしちゃえば、classのロードのためにいちいちrequire_onceとかしなくて済みます。
クラスの命名規則と設置場所さえルーリングされていれば、requireが100個あろうが200個あろうが書く必要は無いです。

この記事を書いた人

のびー
のびー
株式会社ホットポット(現 イー・ガーディアン株式会社)(アルバイト)2005年1月~2006年4月
 ↓
株式会社エディア 2006年4月〜2007年7月
 ↓
株式会社パクレゼルヴ 2007年8月〜2010年7月
 ↓
グルーポン・ジャパン株式会社 2010年8月〜2011年12月
 ↓
ミューズコー株式会社 2012年2月3日〜2013年12月31日
 株式会社パクレゼルヴ からの出向扱いにて所属。
 ↓
株式会社PRECS 2014年1月

いっぱい会社渡り歩いてるように見えるけど、転職は1回しかしてません!