2009-07-19 14 views
3

PHPクラスにファイルを含める際にいくつかの情報が必要です。例えば。PHPクラスとファイルを含む

include Foo2.php; //<--- Is this good?  
class Foo { 
     function doFoo(){ 
     include("Foo2.php"); //<--- or is this better? 
     //do something with vars from Foo2 
     } 
} 

私は、スコープの横に違いがあり、別のPHPファイルをクラスに含める方法があるのだろうかと思っていました。

お返事ありがとうございます。

答えて

4

は、グローバルスコープに含まれます。それは非常に読みやすく保守的です。

+0

これは当てはまりますが、使用されない可能性があるグローバルスコープに多数のファイルを含めると、効率が悪くなりますか? これらはマイクロ効率であり、本当に問題ではないと思いますか? – Mozez

+0

バイトコードキャッシュを使用します(APC、Zend Optimizerなど)。問題はありません。 – erenon

+1

これは私が見つけたトレードオフです:見つけやすく、リファクタリング時にエラーを簡単に見つけることができる(含まれていることを確認するために異なるコードパスを実行する必要がないため) 「if」の中でさえも)、必要な場合にはファイルをインクルードする必要があります。一緒になっているものをローカライズ(結束)しました。 – grantwparks

0

PHPファイルをクラスの機能に含めたり、クラスの外部に完全に含めたりすることができるので、両方の方法が失われます。

違いは、関数内の関数は、その関数を呼び出す場合にのみ含まれる点です。

私は、関数の中には自動的には含まれないので、関数内の方が優れていることがわかります。そのクラスの中に関数が必要な場合にのみインクルードすることができます。たくさんのファイル。

関連する問題