"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP의 변수에서 클래스를 어떻게 인스턴스화할 수 있나요?

PHP의 변수에서 클래스를 어떻게 인스턴스화할 수 있나요?

2024년 11월 18일에 게시됨
검색:347

How Can I Instantiate a Class from a Variable in PHP?

PHP의 변수에서 클래스 인스턴스화 구현

PHP에서는 변수 값에서 클래스를 인스턴스화해야 하는 시나리오가 발생할 수 있습니다. 예를 들어 이를 설명하겠습니다.

$var = 'bar';
$bar = new {$var}Class('var for __construct()'); //$bar = new barClass('var for __construct()');

이 메소드는 $var 변수로 지정된 클래스의 인스턴스를 생성하려고 시도합니다. 그러나 PHP는 기본적으로 이 구문을 지원하지 않습니다.

eval()을 사용하지 않는 대체 접근 방식

eval()을 사용하지 않고 이를 달성하려면 클래스 이름을 유지하는 변수를 활용할 수 있습니다.

$classname = $var . 'Class'; // e.g. $classname = 'barClass'

$bar = new $classname('var for __construct()');

팩토리 패턴

이 기술은 클래스 생성을 중앙 집중화하고 분리하는 데 사용되는 팩토리 패턴에서 자주 사용됩니다. 만드는 과정부터. 이러한 시나리오에서 팩토리 클래스는 구성이나 기타 매개변수를 기반으로 원하는 클래스 인스턴스를 동적으로 생성합니다.

추가 리소스

동적 언어 기능과 네임스페이스에 대한 자세한 내용은 다음을 참조하세요. 리소스:

  • [네임스페이스](https://www.php.net/manual/en/언어.namespaces.php)
  • [동적 언어 기능](https:/ /www.php.net/manual/en/언어.types.dynamic.php)
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3