PHP class에서 __set 메소드관련 질문입니다.. 정보
PHP class에서 __set 메소드관련 질문입니다..본문
제가지금 성공적인웹프로그래밍 php와mysql 제3판으로 공부를 하고 있는데요..
궁금한점이 생겨서요..
책에 따르면...
class classname
{
var $attribute;
function __get($name)
{
return $this->$name;
}
function __set($name,$value)
{
if($name='attribute' && $value>=0 && $value <=100)
$this->$name = $value;
}
}
이것을 실행시켜보기 위해 다음을 실행시켰습니다.
$a=new classname();
$a->attribute=500;
echo $a->attribute;
클래스 안에서 var변수를 선언하고 __set 함수로 접근을 관리할수 있다고 합니다.
문제는 책에서는 var 변수로 예를 들었는데, __set 메소드가 작동을 안하는겁니다.
인터넷을 뒤져보니,, __set메소드는 private,protected의 접근제한자만 적용된다고 나오는데요..
그럼.........책이 틀린건가요??? __set 메소드는 var이나public 변수에서는 사용이 안되는건가요??
추천
0
0
댓글 0개