Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:这些基本知识一定要多注意
<?php
function sum(int $a, int $b){
return $a + $b;
}
include './demo1.php';
echo sum(3, 4);
// 结果是 7
// 但是我们引用两次该demo1.php 文件是就会报错
include './demo1.php';
include './demo1' . '.php';
echo sum(3, 5);
// 结果是:Fatal error: Cannot redeclare sum() ;函数不能重新定义
$a = './demo1.php';
include $a;
include './demo1.php';
echo sum(3,5);
//此时不会报错,结果是8
include './demo2.php';
echo '就算被加载文件不存在我仍然可以执行';
// 浏览器报错并返回结果:就算被加载文件不存在我仍然可以执行。
// 说明include 加载文件并不会因为被加载文件不存在而停止当前脚本的执行
// 但被加载的文件有错误时,仍然会报错
require ('./demo6.php');
echo '就算出错了我仍然可以执行';
// 浏览器报错并且不会输出:“就算出错了我仍然可以执行”
require ('./demo1.php');
require_once ('./demo1.php');
echo sum(3,4);
// 结果是:7
类的创建与实例化
//创建一个类
class User{
}
//创建User类的实例
$user1 = new User();
//判断实例是否是某一个类的对象。
var_dump($use1 instanceof User);
//得到某一个实例对象的类名
echo get_class($use1);
类的属性值与类成员的访问
类属性就是有访问限制的变量。语法:访问限制符 $变量名称。访问限制符有:public protected private
class User
{
//演示类属性的创建
public $name = 'Bob';
public $age = 20;
public $options = [3,4,5];
public $nowdoc = <<< 'hello'
你好,世界
hello;
public $heredoc = <<< "hi"
你好,\n\r世界
hi;
//类属性值不能用以下方法创建
//1.非法属性值 2.变量 3.类属性、类方法 4.表达式 5.函数调用 6.注意heredoc中不能出现变量。
//如果一个属性对所有的实例来说是一样的,用类访问更方便,此时可以声明静态属性
//静态属性在编译阶段初始化,在执行阶段可以更改
public static $nationality = 'CHINA';
//抽象属性, 默认值是null
public $price;
}
//类成员的访问 首先实例化对象
$user1 = new User();
echo $user1->name.'的年龄是'.$user1->age;
//结果是:Bob的年龄是20
//可以实例化后修改当前实例的
$user1->name = 'Tom';
$user1->age = 18;
echo $user1->name.'的年龄是'.$user1->age;
//结果是:Tom的年龄是18
//访问静态属性用两个冒号 ::
echo $user1::$nationality;
//结果是:CHINA
//静态属性一样可以修改
$user1::$nationality = 'USA';
echo $user1::$nationality;
//结果是:USA
//抽象属性的访问
var_dump($user1->price);
// NULL
// 抽象属性的修改
$user1->price = 20;
echo $user1->price;
//结果是:20