> 백엔드 개발 > PHP 튜토리얼 > PHP의 다중 생성자 문제에 대한 해결책

PHP의 다중 생성자 문제에 대한 해결책

黄舟
풀어 주다: 2023-03-12 10:14:02
원래의
2776명이 탐색했습니다.

생성자 를 구현하려면 두 개의 변수 가 필요하고 다른 생성자는 배열 입니다.
예:

public function construct($id, $dname)
public function construct($device=array())
로그인 후 복사

인터넷에서만 볼 수 있는데, func_num_args를 통해 매개변수 개수를 판단하여 구현합니다. 유형을 판단하여 구현할 수 있는 방법이 있나요?

한 파일에 동일한 이름을 가진 두 개의 메소드 함수가 동시에 있을 수 없습니다.
2. 서로 다른 파일에 있는 경우 namespace를 사용하여 동일한 함수를 호출할 수 있습니다. (php 버전은 5.3.3이어야 합니다.) 0 이상)
그래서 당신의 판단은 실제 의미가 없습니다

php는 오버로드될 수 없습니다. 매개 변수를 배열로 변경하고 함수 내에서 차이를 만듭니다.

소스 코드, 상속에서 어떻게 공존하는지 보고 싶습니다.

gettype -- 변수의 유형을 가져옵니다.

construct는 PHP 클래스의 생성자가 아닙니다.
construct는입니다!

php는 오버로딩을 지원하지 않지만, 작성자는 클래스에서 동일한 이름을 가진 메소드라고 말하지 않았습니다.

생성자 함수 구성에서 매개변수 유형을 결정한 다음 다른 분기를 취하면 됩니다. 네이티브로 오버로딩을 지원하지 않는다면 시뮬레이션만 해보세요~

php는 C처럼 함수 오버로딩을 지원하지 않습니다. 말씀하신 것처럼 func_num_arg 함수를 사용하고 매개변수를 판단하여 브랜치 초기화

하면 됩니다. 구성 번호 및 유형의 매개변수를 판단합니다.

아아아아

위 내용은 PHP의 다중 생성자 문제에 대한 해결책의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿