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