생성자는 PHP5 OOP(객체 지향 프로그래밍) 개념입니다. 생성자는 프로그램에서 선언한 클래스와 연결됩니다. 생성자는 클래스의 객체가 인스턴스화될 때 자동으로 호출되므로 생성자의 정의는 "생성자는 클래스의 객체가 인스턴스화될 때 자동으로 호출되는 특수 메서드"입니다. 이번 주제에서는 PHP의 생성자에 대해 알아보겠습니다.
광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
구문
<?php Class Classname { //constructor function __construct() { //statements } } ?>
위 코드에서 생성자는 __ 이중 밑줄로 시작하고 그 뒤에 키워드 구문이 옵니다. __construct()가 없는 생성자 또는 클래스 이름이 변경된 경우 정의된 메서드는 생성자가 아닌 메서드일 뿐입니다. 따라서 정의된 구문에 따라 클래스의 생성자를 정의하는 것이 중요합니다.
생성자의 종류
다음은 생성자의 일부 유형과 해당 출력이 아래에 나와 있습니다
1) 사전 정의된 생성자
미리 정의된 생성자에 대해 명확히 설명하기 위해 아래 예시를 살펴보겠습니다
미리 정의된 생성자의 예
코드:
<?php class Person { function CanSpeak() { echo " Not a constructor method " . '<br>'; } function __construct() { echo " In the constructor method " . '<br>'; } } //Object of class calling the constructor internally $p = new Person(); // Object of class calling the normal method $p->CanSpeak(); ?>
출력:
위의 예에서
Person 클래스에는 Person CanSpeak() 메서드와 생성자 메서드 __construct()라는 두 가지 메서드가 있습니다. 다음으로 클래스를 $p 객체로 인스턴스화했습니다. $p를 사용하여 일반 메소드를 호출했습니다. 객체가 생성되자마자 생성자 메소드가 호출되고 메소드 내부의 명령문이 실행되며, 마찬가지로 동일한 객체 $p와 내부 명령문을 사용하여 생성자 메소드가 아닌 일반 메소드인 CanSpeak() 메소드가 호출됩니다. 해당 메소드가 실행됩니다. 또한 위에서 정의한 생성자에는 인수가 없으므로 이를 인수가 없는 생성자 또는 미리 정의된 생성자라고 부릅니다.
2) 매개변수화된 생성자
생성자에는 인수가 있을 수도 있고 없을 수도 있습니다. 인수가 있는 생성자를 매개변수화된 생성자라고 하고, 인수가 없는 생성자를 인수가 없는 생성자라고 합니다. 예시를 살펴보겠습니다.
매개변수화된 생성자의 예
코드:
class Person { private $first; private $email; private $mobile; public function __construct($name, $email, $mobile) { echo "Initialising the object...<br>"; $this->name = $name; $this->email = $email; $this->mobile = $mobile; } public function showProfile() { echo "My name is: " . $this->name. " " . $this->email. " " . $this->mobile; } } $john = new Person("John","[email protected]", "9187986786"); $john->showProfile();
출력:
생성자는 어떻게 작동하나요?
실행할 자체 생성자와 실행할 상위 생성자가 있는 extends 키워드를 사용하여 기본 클래스를 확장하는 기본 클래스 생성자와 파생 클래스를 살펴보겠습니다. 지금까지 우리는 클래스에 선언된 생성자에 대해서만 배웠습니다. 여기서 생성자에 대한 지식을 더 추가해 보겠습니다. 다음 예에서 기본 클래스 Person에는 생성자가 있습니다. 이제 이 생성자는 파생 클래스 또는 부모 키워드를 사용하여 하위 클래스에 의해 호출되므로 기본 클래스 Person의 생성자에 액세스할 수 있습니다.
출력 흐름
먼저 Person 생성자가 호출된 다음 내부적으로 Person 생성자를 다시 호출하는 Customer 생성자가 호출되고 그 다음 자체 고객 생성자와 마지막으로 Person 클래스를 확장하는 Employee 클래스가 호출되므로 Person 생성자가 다시 호출됩니다.
코드:
class Person { function __construct() { echo "In Person constructor"."<br>"; } } class Customer extends Person { function __construct() { parent::__construct(); echo "In Customer constructor"."<br>"; } } class Employee extends Person { // inherits Person’s constructor } // In Person constructor $p = new Person(); // In Person constructor // In Customer constructor $c = new Customer(); // In Employee constructor $e = new Employee();
출력:
아래 예에서는 set 메소드와 get 메소드가 어떻게 작동하는지 보여줍니다. OOP에서 캡슐화 개념을 사용합니다. 처음에 프로그램은 생성자, set_name 메소드 및 get_name 메소드를 사용하여 선언됩니다. 생성자는 클래스가 인스턴스화될 때 확실히 호출되는 매개변수화된 생성자이므로 첫 번째 출력은 John Doe가 다음에 클래스의 객체를 생성하고 출력을 Alice로 인쇄하는 set_name 및 get_name 메서드를 호출하는 것입니다.
코드:
<?php class Person { public $name; function __construct($name) { echo $this->name = $name; } function set_name($name) { $this->name = $name; } function get_name() { echo $this->name; } } // In Person constructor $p = new Person('John Doe'); echo "\n"; $p->set_name('Alice'); $p->get_name(); ?>
출력:
액세스 지정자
PHP에는 세 가지 액세스 지정자가 있습니다
- 공개
- 보호됨
- 비공개
공개: 공개로 선언된 클래스의 구성원은 어디에서나 액세스할 수 있습니다.
Protected: Members of the class declared as protected are accessible only within the base class and the derived class which extends the base class.
Private: Members of the class declared as private are accessible with the class that defines it.
Also, the variables declared are called data members or properties and the functions declared are called as data methods. In the below example we have Base Class declared as Person which has the following properties along with the access specifiers public name, protected email and private mobile. Now the class is instantiated with an object $p and these three properties which are accessed from the object. which outputs are an error, why because, the protected property says that protected are accessible only within the base class and the derived class which extends the base class?
Code:
<?php class Person { public $name=; protected $email; private $mobile; function __construct() { print "In Person constructor"; } } // In Person constructor $p = new Person(); echo $p->name; echo $p->email; echo $p->mobile; ?>
Output:
Conclusion
Hope this article finds you what you have been searching for. The article has different examples for you to learn. The more you put the examples in practice the easier it will become to grasp.
위 내용은 PHP의 생성자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP는 지난 수십 년 동안 네트워크를 형성했으며 웹 개발에서 계속 중요한 역할을 할 것입니다. 1) PHP는 1994 년에 시작되었으며 MySQL과의 원활한 통합으로 인해 개발자에게 최초의 선택이되었습니다. 2) 핵심 기능에는 동적 컨텐츠 생성 및 데이터베이스와의 통합이 포함되며 웹 사이트를 실시간으로 업데이트하고 맞춤형 방식으로 표시 할 수 있습니다. 3) PHP의 광범위한 응용 및 생태계는 장기적인 영향을 미쳤지 만 버전 업데이트 및 보안 문제에 직면 해 있습니다. 4) PHP7의 출시와 같은 최근 몇 년간의 성능 향상을 통해 현대 언어와 경쟁 할 수 있습니다. 5) 앞으로 PHP는 컨테이너화 및 마이크로 서비스와 같은 새로운 도전을 다루어야하지만 유연성과 활발한 커뮤니티로 인해 적응력이 있습니다.

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.

PHP는 죽지 않았습니다. 1) PHP 커뮤니티는 성능 및 보안 문제를 적극적으로 해결하고 PHP7.x는 성능을 향상시킵니다. 2) PHP는 최신 웹 개발에 적합하며 대규모 웹 사이트에서 널리 사용됩니다. 3) PHP는 배우기 쉽고 서버가 잘 수행되지만 유형 시스템은 정적 언어만큼 엄격하지 않습니다. 4) PHP는 컨텐츠 관리 및 전자 상거래 분야에서 여전히 중요하며 생태계는 계속 발전하고 있습니다. 5) Opcache 및 APC를 통해 성능을 최적화하고 OOP 및 설계 패턴을 사용하여 코드 품질을 향상시킵니다.

PHP와 Python에는 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구 사항에 따라 다릅니다. 1) PHP는 웹 개발, 배우기 쉽고 풍부한 커뮤니티 리소스에 적합하지만 구문은 현대적이지 않으며 성능과 보안에주의를 기울여야합니다. 2) Python은 간결한 구문과 배우기 쉬운 데이터 과학 및 기계 학습에 적합하지만 실행 속도 및 메모리 관리에는 병목 현상이 있습니다.

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

PHP에서 전처리 문과 PDO를 사용하면 SQL 주입 공격을 효과적으로 방지 할 수 있습니다. 1) PDO를 사용하여 데이터베이스에 연결하고 오류 모드를 설정하십시오. 2) 준비 방법을 통해 전처리 명세서를 작성하고 자리 표시자를 사용하여 데이터를 전달하고 방법을 실행하십시오. 3) 쿼리 결과를 처리하고 코드의 보안 및 성능을 보장합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
