개발 Q&A

제목 함수명을 의미하는 문자열로 함수를 호출할수있나요?
글쓴이 꼬마로봇 작성시각 2016/05/16 20:05:48
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 12839   RSS

말이 조잡한데..

 

예를들어서 

 

function all( function_name ) 이와 같은 함수에서

function_name 은 문자열이구요

문자열로 받아서

$this->문자열로받은 함수명(); 

이렇게 바로 그함수를 호출할수 없을까요?

 

 

 다음글 ci를 통해 웹사이트 하나 만들려고 합니다. (2)
 이전글 보안을 유지하면서 POST 데이터를 넘겨야 한다면.. (4)

댓글

테러보이 / 2016/05/16 20:16:41 / 추천 0
$this->{문자열로받은 함수명}()
테러보이 / 2016/05/16 20:18:48 / 추천 1
실제 저도

if(method_exists($this, 'Run_'.$type) === true) $this->{'Run_'.$type}($LastCode, $OrderDetail, $MallManageCode);
else $this->MSG('미지원 TYPE (none exists class Function {'.$type.'})', '406'); // 406(허용되지 않음)

이런식으로 사용중입니다
꼬마로봇 / 2016/05/16 21:43:29 / 추천 0
답변 감사드림니다
배강민 / 2016/05/17 08:55:29 / 추천 0
저도 많이 쓰는 방식이고 좋긴하지만, 여기에 너무 맛들이면, 다른 언어로 개발할때 욕이 좀 많이 나올 수 있는 단점이 있습니당.ㅋ
kaido / 2016/05/17 09:20:41 / 추천 0

@배강민

ㅋㅋㅋ 동감.

php 가변변수는 오직 php 에만 존재합니다. 적어도 제가 아는 언어중에는 가변변수는 오직 php뿐입니다.

설령 지원을 해준다 해도, php쓰는 사람아니면 가변변수를 왜 쓰는지 이해 조차 못할걸요?