>백엔드 개발 >PHP 문제 >PHP의 클래스 이름과 메소드 이름이 같을 수 있습니까?

PHP의 클래스 이름과 메소드 이름이 같을 수 있습니까?

王林
王林원래의
2020-09-28 14:12:333357검색

PHP의 클래스 이름과 메소드 이름은 동일할 수 있습니다. 메서드 이름이 클래스 이름과 동일하고 __construct가 없으면 메서드는 생성자로 처리됩니다. 생성자로 사용되고 [parent::__construct();]가 없으면 부모 클래스의 생성자는 실행되지 않습니다.

PHP의 클래스 이름과 메소드 이름이 같을 수 있습니까?

메서드 이름의 클래스 이름이 같고 __construct가 없으면 해당 메서드는 생성자로 처리됩니다.

(추천 튜토리얼: php 비디오 튜토리얼)

생성자로 사용되고 parent::__construct();가 없으면 상위 클래스의 생성자는 여전히 실행되지 않습니다.

예:

//php 5.6
class father{
  public function __construct() {
    echo __METHOD__;
  }
}
class son extends father{
  //public function __construct() {
  //  parent::__construct();
  //  echo __METHOD__;
  //}
  public function son() {
    //parent::__construct();
    echo __METHOD__;
  }
}
$a=new son();

관련 권장 사항: php training

위 내용은 PHP의 클래스 이름과 메소드 이름이 같을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.