BEARはクラスオートローダーが標準になっているので、PEARやZendのクラスを利用するときにrequireやincludeなどを省略することができます。
読み込んでいないクラスをnewしたりプロパティにアクセスしようとするとクラスファイルが自動で呼ばれます。アプリケーションのクラスはApp/以下に配置します。例えば認証クラスだとApp/Auth.php
でApp_Auth
というクラスを利用します。
例 App_Daemon_Chat
クラス
- path:
<プロジェクトルート>
/App/Daemon/Chat.php - class:
App_Daemon_Chat
デフォルトではオンになっているオートローダーをオフにするには以下のようにします。
spl_autoload_unregister(array('BEAR', 'onAutoLoad'));
再びオンにするには
spl_autoload_register(array('BEAR', 'onAutoload'));
とします。
unserialize()で復元したオブジェクトのクラス定義がされてない場合, class_exists()で第2引数にfalseを指定せずにクラスが存在しない場合 でもオートローダーが呼ばれます。