他のクライアント・コーダーで使用する予定がないクラスを構築する理論の問題、実行する最善の方法は何ですか?次のことを考えてみましょう:
class Test
{
public function __construct()
{
$this->foo();
$this->bar();
}
public function foo(){ //do something }
public function bar(){ //do something }
}
$test = new Test;
私は、このクラスがやりたい正確に把握し、順序はそれがで行う必要がありますように、私は単純に工事中の関数を呼び出します。しかし、同じことを行うことによって行うことができます:
class Test
{
public function __construct(){}
public function foo(){ //do something }
public function bar(){ //do something }
}
$test = new Test();
$test->foo();
$test->bar();
これを行う方法の利点は何ですか?それ等のパフォーマンス、デバッグ、
編集
これは、汎用的な問題であること。クラス内でメソッドを実行するこれらの2つの方法に関するすべての可能性と懸念を聞くことを望む。
私の唯一の懸念は、コンストラクタ内のそれらのメソッドを呼び出すことによって、サブクラスがコンストラクタをオーバーライドする可能性があり、開発者がそれらを追加することを知らない限り、それらのメソッドが呼び出されないことです。 – Rodaine
非常に有効なポイントです。あなたに+1 – grep