1. PHP에는 어떤 특성이 있는지 아시나요?
클래스와 인터페이스 둘 다처럼 보이지만 실제로는 둘 다 아닙니다.
Trait는 하나 이상의 기존 PHP 클래스와 혼합될 수 있는 클래스의 부분 구현으로 간주될 수 있습니다. 여기에는 클래스가 수행할 수 있는 작업을 표시하고 모듈식 구현을 제공하는 두 가지 기능이 있습니다. Trait은 PHP의 단일 상속 제한에 대해 유연한 코드 재사용 메커니즘을 제공하는 코드 재사용 기술입니다.
2. PHP 버전 요구 사항:
PHP5.4에서는 코드 중복을 줄이고 코드 재사용성을 높이는 것이 목적인 특성을 도입하기 시작했습니다.
3. 특성 사용 시나리오:
이런 상황을 상상해 보세요. 여러 클래스에서 메서드를 사용해야 하는 경우 어떻게 처리해야 할까요?
일반적으로 일반적인 접근 방식은 기본 클래스를 작성하고 기본 클래스에 이 메서드를 구현한 다음 모든 클래스가 이 기본 클래스를 상속하는 것입니다.
이것은 대처 방법이지만 최선의 대처 방법은 아닙니다. 상속은 일반적으로 여러 클래스가 매우 유사할 때 사용됩니다. 예를 들어 people은 기본 클래스이고 학생, 근로자 등은 기본 클래스 "people"을 상속하여 확장합니다.
따라서 특성의 역할은 여러 클래스에서 사용될 수 있습니다.
4. 특성 사용 방법:
PHP 매뉴얼의 예를 인용하세요.
예제 1
<?php trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ } } class ezcReflectionMethod extends ReflectionMethod { use ezcReflectionReturnInfo; /* ... */ } class ezcReflectionFunction extends ReflectionFunction { use ezcReflectionReturnInfo; /* ... */ } ?>
1. 먼저 특성을 소개하기 위해 클래스에서 사용을 사용하세요.
아주 간단한가요(수동탈출)? 주목해야 할 것은 특성의 우선순위입니다.
(무료 학습 영상 공유:
php 영상 튜토리얼(칠판을 두드리세요) 기본 클래스에서 상속받은 멤버는 특성에 의해 삽입된 멤버로 재정의됩니다. 우선 순위는 현재 클래스의 멤버가 특성의 메서드를 재정의하고 특성이 상속된 메서드를 재정의하는 것입니다.
우선순위: 자체 메서드 > 특성의 메서드 > 상속된 메서드(그렇게 보입니다.)
예제를 보세요
<?php trait HelloWorld { public function sayHello() { echo 'Hello World!'; } } class TheWorldIsNotEnough { use HelloWorld; public function sayHello() { echo 'Hello Universe!'; } } $o = new TheWorldIsNotEnough(); $o->sayHello();//输出是 Hello Universe! ?>
또 주목해야 할 점은 여러 특성을 사용한다는 것입니다.
<?php trait Hello { public function sayHello() { echo 'Hello '; } } trait World { public function sayWorld() { echo 'World'; } } class MyHelloWorld { use Hello, World; public function sayExclamationMark() { echo '!'; } } $o = new MyHelloWorld(); $o->sayHello(); $o->sayWorld(); $o->sayExclamationMark(); ?>
요약: Trait은 PHP의 단일 상속 제한을 위해 유연한 코드 재사용 메커니즘을 제공하는 코드 재사용 기술입니다.
관련 권장 사항:
php 튜토리얼위 내용은 PHP에서 특성을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!