php7에서 종속성 주입 컨테이너 또는 서비스 컨테이너에서 인스턴스를 검색 할 때 하드 코드 된 문자열 대신 ::class
을 사용하는 것이 더 좋습니까? 그렇다면 왜? 예를 들어하드 코드 된 문자열 대신 :: 클래스를 사용하는 것이 더 좋습니까?
, 다음 바람직 라인은 다음과 같습니다
$diContainer->get(Namespace\SubNamespace\Class::class);
$serviceContainer->get(Namespace\SubNamespace\Class::class);
보다는 다음
$diContainer->get('Namespace\SubNamespace\Class');
$serviceContainer->get('Namespace\SubNamespace\Class');
내가 코드를 PHP 이후 빠른 컴파일 있다는 믿음으로 하드 코딩 된 문자열을 사용하고는 ::class
키워드를 해석 할 필요가 없습니다. 그러나, 나는 또한 ::class
을 사용하는 많은 새로운 php7 코드를 보았습니다.
보다 광범위하게 정규화 된 클래스 이름이 필요할 때마다 일반적으로 하드 코드 된 문자열 대신 ::class
을 사용하는 것이 더 낫습니까?
감사합니다. 나는 특히 "의미없는 불투명 한 얼룩"추론을 좋아한다. –