클래스 및 객체와 같은 PHP 변수 및 유형 확장
1. 개요 및 설치
이러한 기능을 사용하면 클래스 및 개체 인스턴스에 대한 정보를 얻을 수 있습니다. 객체가 속한 클래스 이름과 해당 멤버 속성 및 메서드를 얻을 수 있습니다. 이러한 함수를 사용하면 객체와 클래스 간의 관계뿐만 아니라 상속 관계(예: 객체 클래스가 상속받는 클래스)도 찾을 수 있습니다.
PHP에서 객체와 클래스가 어떻게 구현되고 사용되는지에 대한 자세한 설명을 보려면 객체 지향 장을 참조하세요.
이러한 기능은 PHP 코어의 일부이므로 설치가 필요하지 않습니다.
2. 클래스 및 객체 함수의 전체 목록
__autoload — 정의되지 않은 클래스 로드 시도
call_user_method_array — 매개변수 배열을 전달하는 동안 사용자 메서드 호출(구식)
call_user_method — 특정 객체에 대한 사용자 메서드 호출(사용되지 않음)
class_alias — 클래스에 대한 별칭 생성
class_exists — 클래스가 정의되었는지 확인
get_called_class — 후기 정적 바인딩("Late Static Binding") 클래스의 이름
get_class_methods — 클래스의 메서드 이름으로 구성된 배열을 반환합니다.
get_class_vars — 다음으로 구성된 배열을 반환합니다. 클래스의 기본 속성
get_class — 객체의 클래스 이름을 반환합니다.
get_declared_classes — 정의된 클래스의 이름으로 구성된 배열을 반환합니다.
get_declared_interfaces — 배열을 반환합니다. 모든 선언된 인터페이스 포함
get_declared_traits — 정의된 모든 특성의 배열을 반환합니다.
get_object_vars — 객체 속성으로 구성된 연관 배열을 반환합니다.
get_parent_class — 해당 클래스의 상위 클래스 이름을 반환합니다. 객체 또는 클래스
interface_exists — 인터페이스가 정의되었는지 확인
is_a — 객체가 이 클래스에 속하거나 클래스가 이 객체의 상위 클래스인 경우 TRUE를 반환합니다.
is_subclass_of — 이 객체가 이 클래스 클래스의 하위인 경우 TRUE를 반환합니다.
method_exists — 클래스의 메소드가 존재하는지 확인합니다.
property_exists — 객체나 클래스에
trait_exists — 지정된 특성이 존재하는지 확인3. 사용 예이 예에서는 먼저 기본 클래스와 클래스의 확장을 정의합니다. 이 기본 클래스는 식용 가능한지 여부와 색상과 관련하여 일반적인 야채를 설명합니다. 서브클래스 Spinach는 요리 방법과 요리 여부를 확인하는 또 다른 방법을 추가합니다. 예제 #1classes.inc<?php // base class with member properties and methods class Vegetable { var $edible; var $color; function Vegetable($edible, $color="green") { $this->edible = $edible; $this->color = $color; } function is_edible() { return $this->edible; } function what_color() { return $this->color; } } // end of class Vegetable // extends the base class class Spinach extends Vegetable { var $cooked = false; function Spinach() { $this->Vegetable(true, "green"); } function cook_it() { $this->cooked = true; } function is_cooked() { return $this->cooked; } } // end of class Spinach ?>
<?php include "classes.inc"; // 实用函数 function print_vars($obj) { foreach (get_object_vars($obj) as $prop => $val) { echo "\t$prop = $val\n"; } } function print_methods($obj) { $arr = get_class_methods(get_class($obj)); foreach ($arr as $method) { echo "\tfunction $method()\n"; } } function class_parentage($obj, $class) { if (is_subclass_of($GLOBALS[$obj], $class)) { echo "Object $obj belongs to class " . get_class($$obj); echo " a subclass of $class\n"; } else { echo "Object $obj does not belong to a subclass of $class\n"; } } // 实例化 2 对象 $veggie = new Vegetable(true, "blue"); $leafy = new Spinach(); // 打印这些对象的信息 echo "veggie: CLASS " . get_class($veggie) . "\n"; echo "leafy: CLASS " . get_class($leafy); echo ", PARENT " . get_parent_class($leafy) . "\n"; // 显示蔬菜的属性 echo "\nveggie: Properties\n"; print_vars($veggie); // and leafy methods echo "\nleafy: Methods\n"; print_methods($leafy); echo "\nParentage:\n"; class_parentage("leafy", "Spinach"); class_parentage("leafy", "Vegetable"); ?>
[...] Parentage: Object leafy does not belong to a subclass of Spinach Object leafy belongs to class spinach a subclass of Vegetable

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
