批改状态:合格
老师批语:
1.
include和require都是在当前文件调用外部文件,且作用域即当前文件的作用域
2.require语句调用文件时,如果没有找到文件,require语句会输出错误信息,并且立即终止脚本的处理,而include语句在没有找到文件时则会输出警告,不会终止脚本的处理
3.使用require语句调用文件时,只要程序一执行,就会立刻调用外部文件,而通过include语句调用外部文件时,只有当程序执行到这条语句时,才会调用外部文件
例如:
<?php// 当xxx.php文件不存在时,会输出错误信息,但依然会执行输出Hello World// 文件初始化时就调用了外部文件include 'xxx.php';echo 'Hello World';// 当xxx.php文件不存在时,会输出错误信息且终止脚本处理,不会输出Hello World// 文件初始化时未调用外部文件,执行require语句时才会调用require 'xxx.php';echo 'Hello World';?>
<?phpnamespace _0812;// 声明类class User{// 1.公共属性public $userName;public $sex;// 2.私有属性private $salary;private $age;// 3.静态属性public static $nation;// 4.获取器: __get(属性) 魔术方法// $name: 要获取的属性名public function __get($name){// 当获取的属性为年龄变量时 对私有变量$age进行+10操作// 类的内部,用$this来直接使用变量属性,不用实例化// 对私有属性判断,返回一个虚假年龄return $name === 'age' ? $this->$name + 10 : $this->$name;}// 5.更新器/设置器 __set(属性,值) 魔术方法// 私有属性可以通过更新器动态更新// 在属性动态更新时,对属性进行更新操作判断,是否对其进行更新public function __set($name, $value){// 对真实的年龄作判断if ($name === 'age') {if ($value >= 18 && $value <= 50) {$this->$name = $value;} else {echo '年龄越界了';}}}// 6.构造方法:魔术方法// 在实例化该类时自动触发 初始化类的属性// 公共属性可以通过构函数来动态更新// $nation设置默认值public function __construct($userName, $sex, $salary, $nation = 'China'){// 初始化公共属性$this->userName = $userName;$this->sex = $sex;// 初始化私有属性$this->salary = $salary;// 初始化静态属性self::$nation = $nation;}// 7.静态方法 实例化时传入当前对象public static function hello($user){// 在静态方法中调用类的属性时 必须实例化才可以调用// $user = new User('张三', 1800,);return 'Hello ' . $user->userName . ', 你的国籍是: ' . self::$nation;}}// 8.实例化 在类的外部使用类的属性需要实例化,用对象访问成员// 实例化时没有初始化$nation时使用默认值$user1 = new User('赵大', '男', 2800);// 9.访问公共成员echo $user1->userName . '<br>';// 10.访问私有成员echo $user1->salary . '<br>';// 11.访问静态成员 实例化未初始化$nation 输出默认值echo User::$nation . '<br>';// 12.访问静态成员 实例化初始化$nation$user2 = new User('赵大', '男', 2800, '中国');echo User::$nation . '<br>';// 13.访问静态方法echo User::hello($user2) . '<br>';// 14.更新成员$user2->age = 38;echo $user2->age . '<br>';// 私有属性若是通过构造函数初始化值时,更新器对私有属性更新时无效$user2->salary = 3000;// 输出结果依然是实例化时的初始值 2800echo $user2->salary . '<br>';// 15.访问私有属性$age时,对$age判断,并返回虚假年龄// 真实年龄 28$user2->age = 28;// 输出虚假年龄 38echo '虚假年龄:' . $user2->age . '<br>';// 16.更新$age时对其进行操作判断// 真实年龄 52$user2->age = 52;echo '<br>';// 打印对象var_dump($user2);

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号