<?php
/*
?* WEB开发笔记 www.chhua.com 每日练习之PHP中的拦截器
?*/
/*
?*/

final class classTest{
?public function __toString(){//类被当作字符串输出的时候调用
????? return “这是一个classTest类的实例化的对象? __toString方法实现的<br>”;
?}
?
?public function __set($k,$v){//试图设置对象没有定义的属性时调用,需要两个参数,一个是属性名称,一个是属性值
??echo “使用 __set()方法设置属性”.$k.”的值为”.$v.”<br>”;
??$this->array[$k]=$v;// 设置 $this->array[$k]的同时,会调用 __get()方法
?}
?
?public function __get($k){//试图获取对象没有定义的属性时调用,参数是属性名称
??echo “成员属性”.$k.”不存在<br>”;
?}
?
?public function __call($name,$arr){//试图调用没有定义的方法时调用,参数两个,$name是方法名,$arr是参数数组
??echo $name.”是一个不存在的方法,将被重载,其中参数包括:”;
??echo “<br>”;
??print_r($arr);
?}
}

$obj=new classTest();
echo $obj;
$obj->b=”www.chhua.com“;

echo $obj-b.”<br>”;

echo $obj->c;

$obj->write(1,2,3,4,5);
?>