전자 메일로 데이터베이스에서 사용자를 조회하고 ID, 전자 메일 및 해시 암호가 포함 된 구조체를 반환하는 함수가 있습니다. 하지만 ColdFusion에 null/nil/none 유형이 없기 때문에 사용자가 존재하지 않으면 반환 할 항목을 파악할 수 없습니다.ColdFusion에서 'nil'값을 반환하는 방법
내 최초의 솔루션은 단지 사용자가 존재하는지 if(user == false)
를 사용 false
을 반환했지만 모두 ==
및 is
와 ColdFusion은 부울에 유효한 사용자 구조체로 변환하려고 할 때 할 수있는 '오류가 발생합니다 티.
내 두 번째 해결 방법은 값이없는 return;
일 뿐이므로 내 수표는 if(isDefined("foo"))
이됩니다. 변수 이름이 이제는 문자열에 있기 때문에 꽤 추한 것처럼 보입니다 ...
ColdFusion에서 "아무것도 찾을 수 없음"값을 반환하는 깨끗한 방법이 있습니까?
하지 않습니다 당신이 한 반환 무엇을 중요하지 않지만, 가장 가능성이 있기 때문에
트릭은 반환 처리하는 방법에 UserNotFound 예외를 던지거나 사용자 ID가 -1 인 구조체를 반환 할 수 있습니다. –
나는 @SeanMcSomething과 함께 가고 싶다. 사용자를 다시 얻으 려한다면 예외를 던지는 것이 꽤 합리적이며 호출 코드를 멋지게 구조화 할 수있다. – barnyr
다른 해결책은 빈 구조를 반환하는 것입니다. –