마지막 강의 PHP 안전 문자열 개발 아이디어 및 코드 공유에서는 PHP 안전 문자열의 개발 및 사용을 소개했습니다. 오늘은 PHP 문자열에서 객체의 동적 생성에 대해 계속 소개하겠습니다. 요구 사항은 다른 위치에서 클래스 이름을 가져와 해당 클래스의 개체를 생성하는 것입니다. 그러면 이전에 사용된 구문($obj = new $classname();)이 작동하지 않습니다. 오늘은 구현 방법을 소개해드리겠습니다~
먼저 문자열 클래스 이름을 기반으로 객체를 동적으로 생성하기 위해 이 강의에서 사용해야 하는 PHP 클래스 라이브러리를 다운로드하세요: http:/ /www.php.cn/xiazai/leiku/606
다운로드가 완료된 후 php 클래스 라이브러리 파일을 찾아 로컬 디렉토리에 압축을 푼 후 새 파일을 생성해주세요~
우리는 새로운 PHP 파일에 있습니다. 내부에서 이 클래스를 호출하고 인스턴스화합니다:
<?php include_once "stringtext.php"; //引入类库文件 $className = 'Test'; $obj = call_user_func(array($className, 'create')); var_dump($obj); ?>
이러한 구문을 직접 사용하는 것은 확실히 작동하지 않습니다:
$classname='Test'; $obj = new $classname();
대상 클래스에 대한 정적 메서드를 정의하여 객체의 인스턴스를 생성할 수 있습니다. 그런 다음 call_user_func 또는 call_user_func_array를 통해 메서드를 호출합니다. 물론 팩토리 클래스 등의 메소드를 통해서도 구현할 수 있습니다.
실행 결과는 다음과 같습니다.
위 내용은 문자열 클래스 이름을 기반으로 객체를 동적으로 생성하는 PHP의 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!