이것은 작성된 예제이며 많은 매개 변수가있을 때 훨씬 유용합니다.PHP에서 생성자를 연쇄 적으로 오버로드 할 수 있습니까?
이렇게하면 발신자가 new Person("Jim", 1950, 10, 2)
또는 new Person("Jim", datetimeobj)
을 사용할 수 있습니다. 선택적 매개 변수에 대해 알고 있습니다. 여기서는 내가 찾고있는 매개 변수가 아닙니다. 나는 C#에서
을 수행 할 수 있습니다
public Person(string name, int birthyear, int birthmonth, int birthday)
:this(name, new DateTime(birthyear, birthmonth, birthday)){ }
public Person(string name, DateTime birthdate)
{
this.name = name;
this.birthdate = birthdate;
}
나는 PHP에서 비슷한 일을 할 수 있습니까? 다음과 같음 :
function __construct($name, $birthyear, $birthmonth, $birthday)
{
$date = new DateTime("{$birthyear}\\{$birthmonth}\\{$birthyear}");
__construct($name, $date);
}
function __construct($name, $birthdate)
{
$this->name = $name;
$this->birthdate = $birthdate;
}
이것이 가능하지 않으면 좋은 대안이 무엇인가요?
@phpdev 비슷한 생각이지만 아니요. 같은 클래스의 다른 생성자를 호출합니다. 오, 당신은 떠났습니다. 이제는 어색해졌습니다. –