2013-05-04 1 views
0

상수를 문자열로 사용하는 함수가 있으며 상수 referent의 값을 얻을 수 있는지 알고 싶습니다. 인수가 PDO와 관련이
상수를 유형 문자열로 catch

하여 myFunction ("FETCH_ASSOC") :: FETCH_ASSOC

이 가능할까요? 나는 데이터베이스와 작업 할 수있는 클래스를 함께 가져온 거에요
, 감사

+0

왜이 함수를 문자열로 상수로 만들겠습니까? 왜 상수 자체를 전달하고 싶지 않아? –

+0

구체적인 이유가 없으므로 더 많은 책임을 위임하고 싶지 않습니다. (** FETCH_ASSOC, FETCH_OBJ ... **) 종류를 사용하기로 선택한 이유는 추상화를 향상시키는 클래스이기 때문입니다. ** PDO :: FETCH_OBJ ** 매개 변수를 전달하면 PDO를 사용한다고 가정합니다. 다른 제안이 열려 있으므로 –

+0

추상화를 향상시키는 것이 좋습니다. 자신 만의 클래스 상수를 사용하고 PDO 상수로 초기화 할 수 있습니다. –

답변

1

예, 당신은 constant 기능을 사용할 수 있습니다.

그래도 전체 한정자 여야합니다. constant("PDO::FETCH_ASSOC")과 마찬가지로 constant("FETCH_ASSOC")이 아닙니다 (PDO 클래스가 아닌 전역 네임 스페이스에 FETCH_ASSOC이라는 상수가 필요하지 않은 경우).

+0

너무 간단하고 생각도하지 않았다. 그 ... 고마워요! –

관련 문제