2012-02-01 7 views
0

私はすべてのspl_autoload_registers()を実行する "BaseCore"と呼ばれるクラスを持っています。そのファイルに含まれています。spl_autoload_registerとサブクラス

class BaseCore{ 

public function __construct(){ 
    spl_autoload_register('loadClasses'); 
    spl_autoload_register('loadConfig'); 
    spl_autoload_register('loadFMAPI'); 
} 

私の第二のクラスは、私はBaseCoreを拡張したいすべての新しいクラスで、私は/必要とする必要がBaseCoreクラスが含まBaseCoreを拡張します。

require_once('classes/baseCore.class.php'); 

class SchedulerDND extends BaseCore { 

しかし、これは非常に時代遅れで、これを行う古い方法のようです。

私の質問は、require_once()を書くことなく、私の子クラスにBaseCoreを含める方法です。すべての子供クラスで?

ありがとうございます!

+0

move spl_autoload_register( 'loadClasses');フロントコントローラーまたは初期化スクリプト – Fivell

+0

申し訳ありませんフロントコントローラーまたはinitスクリプトはどういう意味ですか? – DarkMantis

+1

http://en.wikipedia.org/wiki/Front_Controller_pattern – Fivell

答えて

2

すべてのspl_autoload_registerクラスは、何らかのタイプのブートストラップファイルに含まれている必要があります。 たとえば、bootstrap.phpを作成し、そこにすべての自動ロード呼び出しを入れます。 次に、ブートストラップファイルを必ず含めてください。 たとえば、index.phpに 'bootstrap.php'が必要です。

これだけです。 あなたはbootstrap.phpを一度だけロードしてから、オートローダを使ってすべてのクラスをロードすることができます。必要なクラスやrequire_onceをクラスに追加する必要はありません。

関連する問題