반응형
1,__get ($property) 정의되지 않은 속성에 접근할 때 호출됨
class lanjie
{
function __get($name)
{
echo $name." property not found! ";
}
}
$ob = new lanjie();
echo $ob->g;
객체 $ob이 정의되지 않은 속성 g를 호출하면, "g property not found!" 를 출력하는 인터셉터_get() 메서드를 호출합니다.
2,__set ($property, $value) 정의되지 않은 속성 호출에 할당
class person
{
private $_age;
private $_name;
function __set($name, $value)
{
$method = "set". ucfirst($name);
echo $method;
if(method_exists($this, $method) )
{
return $this->$method( $value );
}
}
function setName( $name )
{
$this->_name = $name;
if( !is_null($this->_name) )
{
$this->_name = strtoupper($this->_name);
}
}
function setAge( $age )
{
return $this->_age = (int)$age;
}
}
$p = new person();
$p->name = 'bob';
print_r( array( $p ) );
정의되지 않은 'name' 에 할당될 때 "_set( )" 을 불러옵니다.
다른 것은 __call(), __isset(), __unset();
여기서 가장 유용하고 자주 사용하는 것은 __call( )입니다. 존재하는 방법으로 호출될 때 호출됩니다. __isset() 는 정의된 속성에 대해 isset () 함수를 사용할 때 호출됩니다. __unset 는 대미입니다.정의된 수가 unset을 사용할 때 호출됨
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
PHP에서 PHPMailer로 메일 보내기 (0) | 2022.09.20 |
---|---|
thinkphp 사용자 지정 명령줄 만들기 (0) | 2022.09.20 |
PHP에서 페이지 점프 (0) | 2022.09.19 |
PHP 객체 지향 요점 (0) | 2022.09.19 |
php-fpm과 swoole의 최신 성능 대비 (1) | 2022.09.16 |