1、构造器属性提升
~~~php
<?php
namespace myphp;
class City{
public $name;
public $city;
// 构造方法
public function __construct($name, $city){
$this->name = $name;
$this->city = $city;
}
public function fun(){
// 在类中使用伪变量: "$this" 引用当前类的成员变量
return '姓名:'.$this->name.',城市:'.$this->city.'<hr/>';
}
}
// 实例化
$obj = new City('张三','包头市');
echo $obj->fun();
~~~
更少的样板代码来定义并初始化属性
~~~php
<?php
namespace myphp;
class City{
// 构造方法
public function __construct(public $name,public $city){
}
public function fun(){
// 在类中使用伪变量: "$this" 引用当前类的成员变量
return '姓名:'.$this->name.',城市:'.$this->city.'<hr/>';
}
}
// 实例化
$obj = new City('李四','包头市');
echo $obj->fun();
~~~
2、联合类型
类型 描述
bool 布尔型:true 和 false
int 整型:负数 - 0 - 无限大
float 浮点型:带小数的数字(负数 - 0 - 无限大)
string 字符串:汉字、英文、符号、其它国家语言
array 数组:一组数据的集合
object 对象:存储数据和有关如何处理数据的信息
mixed 新增:任何类型
~~~php
<?php
namespace myphp;
class City{
// 构造方法
public function __construct(
public string $name,
public string $city,
public int|float $num
){
}
public function fun(){
return '姓名:'.$this->name.',城市:'.$this->city.',今年是'.$this->num.'年<hr/>';
}
}
// 实例化
$obj = new City('李四','包头市',2022);
echo $obj->fun();
~~~
3、mixed
类型 描述
mixed 新增:任何类型
~~~php
<?php
namespace myphp;
class City{
// 构造方法
public function __construct(
public mixed $name,
public mixed $city,
public mixed $num
){
}
public function fun(){
return '姓名:'.$this->name.',城市:'.$this->city.',今年是'.$this->num.'年<hr/>';
}
}
// 实例化
$obj = new City('李四','包头市',2022);
echo $obj->fun();
~~~
- 概要
- PHP8 类的新特性
- 第1节 认识PHP
- 第2节 安装PHP8
- 第3节 基础语法
- 第4节 PHP与HTML混编
- 第5节 数据类型
- 第6节 数组
- 6-1 基础语法
- 6-2 php html 混编(数组)
- 第7节 php 条件判断
- 第8节 函数
- 第9节 运算符
- 第10节 循环
- 第11节 新特性:JIT
- 第12节 PHP 超全局变量
- 第13节 类与对象
- 13-1 基础
- 13-2 类的三大特性
- 13-3 拓展知识
- 第14节 命名空间
- 第15节 MySql 数据库
- 15-1 数据库简介
- 15-2 常用语句
- 15-3 MYSQL 运算符
- 15-4 PHP PDO操作数据库
- 16 Cookie和Session