2014-10-05 2 views
-1

a curl 요청의 옵션을 설정하는 일반적인 래퍼 클래스 메소드를 설정하려고합니다.상수를 변수로 전달하는 방법은 무엇입니까?

curl_setopt($curl_handles[$i], CURLOPT_RETURNTRANSFER, true); 

그러나 내 메서드에서 매개 변수를 통해 상수를 전달할 수 있기를 원합니다.

protected function set_option($i, $OPTION) 
{ 

    curl_setopt($curl_handles[$i], $OPTION, true); 

} 

이 경우에도 가능합니까? 나는 이것을 시도하지 않았다, 그러나 나는 이것이 작동하지 않을 느낌을 얻는다. 상수의 이름을 이와 같은 변수에 저장할 수 있습니까?

+0

-1. 당신이이 질문을 쓰는 데 걸렸을 때 이미 시도해 볼 수있었습니다. –

+0

정말 그 이유가 -1일까요? 나는 질문을했고, 나는 그것을 분명하게 설명했다. 누군가 질문/답변을 읽는 데 걸리는 시간은 시도하는 것보다 빠를 수도 있습니다. 그것이 나를 위해 더 빠를 것인지 아닌지는 나의 선택이다. 그리고 그 질문을 손상시키지 않는다. 그것은 아주 유효한 질문입니다. –

+0

예, -1이 제 선택입니다. –

답변

1

메서드 매개 변수에 상수를 전달하는 방법을 묻고 있습니까? 당신이 가진 것은 잘 작동해야합니다.

protected function set_option($i, $OPTION) 
{ 
    curl_setopt($curl_handles[$i], $OPTION, true); 
} 

set_option(1, CURLOPT_RETURNTRANSFER); 
+0

네, 그게 정확히입니다. 그게 효과가 있을지 모르겠다. 변수에 상수 이름을 저장할 수 있는지는 몰랐습니다. –

+0

실제로 * name *을 저장하지 않고 * 값 *을 저장하고 있습니다. 'CURLOPT_RETURNTRANSFER'는 값을 정의하는 변수입니다. 인터프리터가'set_option()'호출을 파싱하면, 먼저'CURLOPT_RETURNTRANSFER'의 값을 찾습니다. * value *는'$ OPTION'에 저장된 함수에 전달됩니다. –

+0

상수 __name__은 실제로 어떤 변수에도 저장되어 있지 않습니다. 상수 __value__를 함수에 전달하면 해당 함수에 사용됩니다. –

관련 문제