안녕하세요. 일반적으로 php에서 $obj라는 object의 key를 $key 라는 변수로 접근한다면

$obj->{$key} 형태로 사용하는 것으로 알고 있습니다.

그런데 XE 템플릿 문법에서는 변수를 {$variable} 식으로 접근하기 때문에, 위 방식을 적용한다면

{$obj->{$key}} 가 되므로 괄호가 두번 사용되어서 오류가 발생합니다.

혹시 해결할 수 있는 방법이 있는지 질문드립니다.

 

PS. object를 array로 변경해서 사용하는 방법도 생각했는데, 다른부분을 다 고쳐야해서 최후의 보루로 생각하고 있습니다.

  • ?

    $obj->$key 로도 잘 작동하지 않나요?

    $className->$functionName() 와 같은 느낌으로 사용하시면 될건데요.

  • ? Lv36
    $__Context-->obj->$__Context-->key 형태로 변환되기 때문에 아마 에러날 겁니다 ㅡ.ㅡ
  • ? ?
    시도해봤는데 기진곰님 말씀처럼 오류나네요 ㅠㅠ
  • Lv36

    현재 XE 템플릿 문법상으로는 array로 변환하여 $obj[$key]라고 쓰는 것이 가장 깔끔합니다.

    원본 오브젝트는 그냥 두고, get_object_vars() 함수로 array 사본을 만드세요 ㅎㅎ

  • Lv36 ?
    네 저도 결국 그냥 그렇게 했습니다. 생각해보니 어차피 값만 불러오면 되는거라, 사본을 만들면 크게 귀찮을 건 없더라구요! 감사합니다 ㅎㅎ
  • 최후의 보루로 가시는게 맞는것 같습니다.
    같은 문제로 최후의 보루를 갔습니다ㅎ
  • ?
    넵 최후의 보루로 진행했습니다!