> 백엔드 개발 > PHP 문제 > PHP에서 생성자 메소드의 기능은 무엇입니까?

PHP에서 생성자 메소드의 기능은 무엇입니까?

青灯夜游
풀어 주다: 2023-03-15 12:26:02
원래의
2478명이 탐색했습니다.

PHP의 생성자 메서드 "__construct()"의 기능은 객체 생성 시 객체를 초기화하는 것, 즉 객체 멤버 변수에 초기값을 할당하는 것입니다. 객체를 생성하는 명령문은 "public function __construct"(매개변수 목록){...}"입니다.

PHP에서 생성자 메소드의 기능은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP __construct(): 생성자/메서드

생성자 메서드(생성자 메서드, 생성자라고도 함) )은 클래스의 특수 메소드로, new 키워드를 사용하여 객체를 인스턴스화하면 생성자 메소드가 자동으로 호출됩니다.

PHP3.0 및 PHP4.0의 사용은 PHP7.0에서 중단되었으며 생성자는 __construct를 사용하여 정의해야 합니다.

생성자는 객체가 생성될 때 클래스에서 자동으로 호출되는 첫 번째 함수이며, 클래스에는 생성자가 하나만 있을 수 있습니다. 일반 함수와 마찬가지로 생성자에도 매개변수가 있을 수 있습니다. 생성자에 매개변수가 있으면 인스턴스화 중에 해당 매개변수를 전달해야 합니다(예: new Students($name, $age)).

PHP 생성자의 기능은 객체를 생성할 때 객체를 초기화하는 것, 즉 객체 멤버 변수에 초기값을 할당하는 것입니다. 객체를 생성하는 문에서는 항상 new 연산자와 함께 사용됩니다. 특수 클래스에는 여러 개의 생성자가 있을 수 있으며, 이는 매개 변수의 수나 매개 변수의 유형, 즉 생성자의 오버로드에 따라 구별될 수 있습니다.

구문: ​​

public function __construct(参数列表){
    ... ...
}
로그인 후 복사

그 중 매개변수 목록은 선택사항이며 필요하지 않은 경우 생략할 수 있습니다.

코드에서 생성자가 명시적으로 선언되지 않은 경우 기본적으로 클래스에 매개변수 목록이 없고 빈 내용이 없는 생성자가 있습니다. 생성자가 명시적으로 선언되면 클래스에 기본 생성자가 존재하지 않습니다. 따라서 생성자는 일반적으로 특정 매개변수에 값을 할당하는 등의 준비 작업을 수행하는 데 사용됩니다.

참고: 생성자가 명시적으로 선언된 경우 해당 액세스 권한은 공개되어야 하며 생성자가 인스턴스화될 때 자동으로 호출되므로 수동으로 호출할 필요가 없습니다.

[예] 클래스를 생성하고 해당 디스플레이에 대한 생성자를 만듭니다. 코드는 다음과 같습니다.

<?php
header("Content-type:text/html;charset=utf-8");
class Website{
    public $name, $url, $title;
    public function __construct($str1, $str2, $str3){
        $this -> name  = $str1;
        $this -> url   = $str2;
        $this -> title = $str3;
        $this -> demo();
    }
    public function demo(){
        echo $this -> name.&#39;<br>&#39;;
        echo $this -> url.&#39;<br>&#39;;
        echo $this -> title.&#39;<br>&#39;;
    }
}
$object = new Website(&#39;PHP中文网&#39;,&#39;//m.sbmmt.com/&#39;,&#39;构造方法&#39;);
?>
로그인 후 복사

PHP에서 생성자 메소드의 기능은 무엇입니까?

추천 학습: "PHP Video Tutorial"

위 내용은 PHP에서 생성자 메소드의 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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