摘要://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 (成员私有:仅在本类中开放使用) 。表明该对象成员权限为保护和私有。外部不可直访问,外部需要获取时仅可以在类本身内开放的接口调用获取。
批改老师:天蓬老师批改时间:2019-04-11 09:02:34
老师总结:只要是符合PSR-4标准的类, 都可以用这个方法进行自动加载的