PHP의 ::class 이해
PHP의 ::class 구문은 버전 5.5에 도입된 비교적 최근 추가 항목을 나타냅니다. 네임스페이스를 포함하여 클래스의 정규화된 이름을 나타내는 약식 표기법 역할을 합니다.
기능 및 장점
SomeClass::class는 문자열 표현을 반환합니다. SomeClass의 정규화된 이름입니다. 이 기능은 여러 가지 장점을 제공합니다.
use \App\Console\Commands\Inspire; //... protected $commands = [ Inspire::class, // Equivalent to "App\Console\Commands\Inspire" ];
추가 이점: Late Static Binding
앞서 언급한 장점 외에도 ::class는 Late Static을 구현하는 데에도 유용합니다. 파생 클래스의 이름을 부모 클래스 내에서 얻을 수 있는 바인딩. 이는 다음 예에서 볼 수 있듯이 CLASS 마법 상수 대신 static::class를 사용하여 달성됩니다.
class A { public function getClassName(){ return __CLASS__; } public function getRealClassName() { return static::class; } } class B extends A {} $a = new A; $b = new B; echo $a->getClassName(); // A echo $a->getRealClassName(); // A echo $b->getClassName(); // A echo $b->getRealClassName(); // B
위 내용은 PHP `::class` 구문은 무엇이며 코드를 어떻게 개선합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!