PHP 5는 클래스, 인터페이스, 함수, 메소드 및 확장을 리버스 엔지니어링하는 기능을 추가하는 완전한 리플렉션 API를 갖추고 있습니다. 또한 Reflection API는 함수, 클래스 및 메서드에서 문서 주석을 추출하는 메서드를 제공합니다.
ReflectionClass::__construct — ReflectionClass 클래스 생성
public ReflectionClass::__construct ( mixed $argument )
ReflectionClass::newInstanceArgs — 지정된 매개변수에서 새 클래스 인스턴스를 생성합니다. 지정된 매개변수가 전달됩니다. 클래스의 생성자에게.
public object ReflectionClass::newInstanceArgs ([ array $args ] )
/thinkphp/library/think/Container.php
/** * 调用反射执行类的实例化 支持依赖注入 * @access public * @param string $class 类名 * @param array $vars 参数 * @return mixed */ public function invokeClass($class, $vars = []) { try { $reflect = new ReflectionClass($class); $constructor = $reflect->getConstructor(); //用于支持依赖的注入 $args = $constructor ? $this->bindParams($constructor, $vars) : []; return $reflect->newInstanceArgs($args); } catch (ReflectionException $e) { throw new ClassNotFoundException('class not exists: ' . $class, $class); } }
관련 추천:
실행 클래스에서 프라이빗 메서드를 호출하는 PHP 리플렉션 메서드에 대한 자세한 설명
PHP 리플렉션 메커니즘에 대한 간략한 설명 example
PHP 반사 메커니즘 및 플러그인 아키텍처 예제에 대한 자세한 설명
위 내용은 PHP 반사 메커니즘 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!