상현에 하루하루
All 개발자의 하루

Class 다이나믹 메소드 네임

( 업데이트: )

🤔 무엇을

get_post()로 얻은 WP_Post 타입의 특정 키값? 메소드에 원하는 데이터를 저장해야할 일이 생겼다.

$ex = new Example();

// 내가 원하던 사항
$want = ['key1' => null, 'key2' => 'null, 'key3' => null];
// $ex->원하는이름 = 원하는 값
$ex->key1 = null // (key1 value);
$ex->key2 = null // (key1 value);
$ex->key3 = null // (key1 value);

위처럼 있다했을때 key: value쌍이 백만개라면 일일이 할 수 없다. 그럼 이때 어떻개 할 수 있나?

🔑 해결

PHP에 대해 동일한 클래스이 메소드를 동적으로 호출하는 방법.

$want = ['key1' => null, 'key2' => 'null, 'key3' => null];

foreach($want as $key => $value) {
    $ex->{$key} = $value;
}

위처럼 구현해도 되고 Reflection class를 사용해도 된다.

PHP: Reflection – Manual