> 백엔드 개발 > PHP 문제 > PHP 매직이 무슨 뜻인가요?

PHP 매직이 무슨 뜻인가요?

藏色散人
풀어 주다: 2023-03-08 16:26:02
원래의
2120명이 탐색했습니다.

Magic은 PHP에서 두 가지 의미를 갖습니다. 1. 매직 메소드를 참조합니다. PHP는 두 개의 밑줄로 시작하는 모든 클래스 메소드를 매직 메소드로 예약합니다. 2. PHP가 실행하는 모든 스크립트에 제공하는 매직 상수를 참조합니다. 미리 정의된 상수.

PHP 매직이 무슨 뜻인가요?

이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

매직 메소드

PHP는 __(밑줄 2개)로 시작하는 모든 클래스 메소드를 매직 메소드로 예약합니다. 따라서 클래스 메소드를 정의할 때 위의 매직 메소드를 제외하고 앞에 __를 붙이지 않는 것이 좋습니다.

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __serialize(), __unserialize(), __toString(), __invoke(), __set_state(), __clone() 및 __debugInfo()와 같은 메서드는 PHP에서 Magic 메서드라고 합니다. 매직 기능을 사용하려는 경우가 아니면 자체 클래스 메서드 이름을 지정할 때 이러한 메서드 이름을 사용할 수 없습니다.

참고: 모든 매직 메소드는 public으로 선언되어야 합니다

매직 상수

PHP는 실행되는 모든 스크립트에 미리 정의된 많은 상수를 제공합니다. 그러나 많은 상수는 서로 다른 확장 라이브러리에 의해 정의되며 이러한 확장 라이브러리가 로드되거나 동적으로 로드되거나 컴파일 타임에 포함되는 경우에만 나타납니다.

코드에서의 위치에 따라 값이 바뀌는 8개의 마법 상수가 있습니다. 예를 들어, __LINE__ 값은 스크립트에 있는 줄에 따라 달라집니다. 이러한 특수 상수는 다음과 같이 대소문자를 구분하지 않습니다.

여러 PHP "마법 상수"

__LINE__: 파일의 현재 줄 번호.

__FILE__: 파일의 전체 경로 및 파일 이름입니다. 포함된 파일 내에서 사용되는 경우 포함된 파일의 이름을 반환합니다.

__DIR__: 파일이 위치한 디렉터리입니다. 포함된 파일 내에서 사용되는 경우 포함된 파일이 있는 디렉터리를 반환합니다. dirname(__FILE__)과 동일합니다. 디렉터리 이름은 루트 디렉터리가 아닌 이상 뒤에 슬래시를 포함하지 않습니다.

__FUNCTION__: 현재 함수의 이름입니다. 익명 함수는 {closure}입니다.

__CLASS__: 현재 클래스의 이름입니다. 클래스 이름에는 클래스가 선언된 범위(예: FooBar)가 포함됩니다. PHP 5.4부터 __CLASS__는 특성에도 작동합니다. 특성 메서드 내에서 사용되는 경우 __CLASS__는 특성 메서드를 호출하는 클래스의 이름입니다.

__TRAIT__: 특성의 이름입니다. 특성 이름에는 해당 특성이 선언된 범위(예: FooBar)가 포함됩니다.

__METHOD__: 클래스의 메서드 이름입니다.

__NAMESPACE__: 현재 네임스페이스의 이름입니다.

ClassName::class: 전체 클래스 이름, ::class를 참조하세요.

get_class() get_object_vars(), file_exists() 및 function_exists()를 참조하세요.

【추천 학습: "PHP 비디오 튜토리얼"】

위 내용은 PHP 매직이 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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