PHP class에서 __set 메소드관련 질문입니다.. > 자유게시판

자유게시판

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개

© SIRSOFT
현재 페이지 제일 처음으로