abstract://index.php //********************************************************* <?php // 回调函数拼接不可以用逗号 s
//index.php //********************************************************* <?php // 回调函数拼接不可以用逗号 spl_autoload_register(function($className){ require __DIR__ . './public/'. $className .'.php'; }); $boy = new Boy('小明','足球','20'); // 获取年龄方法(private) $boy->getAge(); echo '<hr>'; // 获取名字属性(public) echo $boy ->name; echo '<hr>'; // 获取爱好方法(protected) $boy ->getInterest(); echo '<hr>'; ?>
//./public/Boy.php //********************************************************* <?php class Boy { public $name; protected $interest; private $age; // 构造函数,$name 名字,$interest 爱好,$age 年龄 public function __construct($name,$interest,$age) { $this->name = $name; $this->interest = $interest; $this ->age = $age; } public function getAge(){ $age = $this->age; switch($age){ case $age<=0: echo '年龄出错啦'; break; case $age<10: echo '我'.$age.'岁了,请叫我小朋友'; break; case $age<25: echo '我'.$age.'岁了,请叫我靓仔'; break; case $age <50: echo '我'.$age.'岁了,请叫我大叔'; break; case $age >= 50: echo '我'.$age.'岁了,请叫我爷爷'; break; default: echo '年龄出错啦'; break; } } public function getInterest(){ $res = $this ->interest; if($res =='篮球'){ echo '我喜欢打',$res,',以前比赛得过一等奖。'; }elseif($res =='足球'){ echo '我喜欢打',$res,',曾经在比赛中得过二等奖。'; }else{ echo $res,'这是个什么运动?我不喜欢。'; } } } ?>
spl_autoload_register()当实例化一个对象时会执行该函数中的回调函数,加载访问类文件时尽量用绝对路径。
public function __construct()函数为构造函数,在实例化中会执行该函数。主要用于初始化对象属性等。。
public 表明该对象成员权限为公开,外部可以直接访问。
protected (成员保护:对本类和下属继承对象中共享开放),private (成员私有:仅在本类中开放使用) 。表明该对象成员权限为保护和私有。外部不可直访问,外部需要获取时仅可以在类本身内开放的接口调用获取。
Correcting teacher:天蓬老师Correction time:2019-04-11 09:02:34
Teacher's summary:只要是符合PSR-4标准的类, 都可以用这个方法进行自动加载的