
Yaf_Session::__get 메소드는 객체의 속성을 가져올 때 사용되는 메소드입니다. 이 메소드는 세션 변수가 존재하지 않더라도 오류를 발생시키는 이유는 PHP의 동적 속성 접근 특성 때문입니다.
PHP는 객체의 속성을 동적으로 생성할 수 있기 때문에, __get 메소드는 객체의 속성이 존재하지 않더라도 호출될 수 있습니다. 이 경우, __get 메소드는 세션 변수가 존재하지 않음을 나타내는 NULL을 반환합니다.
이 문제를 해결하기 위해, 세션 변수가 존재하지 않더라도 오류를 발생시키지 않도록 __get 메소드를 오버라이딩하여 NULL을 반환하는 대신에 예외를 발생시키지 않는 값을 반환할 수 있습니다.
예를 들어, 세션 변수가 존재하지 않더라도 기본값을 반환하도록 __get 메소드를 오버라이딩할 수 있습니다.
#hostingforum.kr
php
class Yaf_Session {
// ...
public function __get($name) {
$value = $this->get($name);
return $value !== NULL ? $value : '세션 변수가 존재하지 않습니다.';
}
// ...
}
또는, 세션 변수가 존재하지 않더라도 NULL을 반환하도록 __get 메소드를 오버라이딩할 수 있습니다.
#hostingforum.kr
php
class Yaf_Session {
// ...
public function __get($name) {
$value = $this->get($name);
return $value !== NULL ? $value : NULL;
}
// ...
}
이러한 방법으로, 세션 변수가 존재하지 않더라도 오류를 발생시키지 않도록 __get 메소드를 오버라이딩할 수 있습니다.
2025-08-09 16:02