다른 클라이언트 코더에 의해 사용하지 않을 클래스를 구축 이론의 문제, 실행의 가장 좋은 방법은 무엇입니까? 다음 고려 :
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();
편도 또는 다른 방법을 사용하면 어떤 이점이 있습니까? 그것은 등 성능, 디버깅,
편집
이 범용 질문합니다. 클래스 내에서 메소드를 실행하는 두 가지 방법에 관한 모든 가능성과 우려를 듣고 싶습니다.
유일한 단점은 생성자에서 해당 메서드를 호출 할 때 하위 클래스가 생성자를 잠재적으로 대체 할 수 있으며 개발자가 해당 메서드를 추가 할 수 없다면 해당 메서드가 호출되지 않는다는 점입니다. – Rodaine
매우 유효한 포인트입니다. 너에게 +1 – grep