PHP 8 中的屬性
屬性是一種類,可以用來向其他類、函式、類方法、類屬性、常量和引數新增元資料。屬性在執行時沒有任何作用。
屬性不會影響程式碼,但可用於反射API。PHP 8 中的屬性允許其他程式碼檢查類屬性和方法。
我們可以為一個宣告新增多個屬性。
它可以解析類名。
屬性可以名稱空間。
它可以有零個或多個引數。
PHP 8 屬性語法
在 PHP 8 中,#[ ] (# 和方括號)用於屬性宣告。
我們可以在 #[ ] 中宣告多個屬性,用逗號分隔。
引數是可選的,但需要用圓括號 () 括起來。
引數可以是字面值或常量表達式。
屬性:語法
#[attribute]
例如,我們可以將屬性用於類。
#[Attribute]
Final class EmpClass{
}示例:屬性函式
#[Attr('param')]
function Exam(){}示例:屬性類
#[Attr('param')]
class Exam{}示例:屬性類屬性
class Emp{
#[Attribute('param')]
public $name;
}示例:屬性類常量
Class Emp{
#[Attribute('emp')]
private const EMP = 'emp';
}示例:屬性函式
#[Attribute('emp')]
function exam(){}示例:屬性方法引數
Function emp(#[Attribute('param')]$name){
}示例:使用函式、方法、引數和常量的 PHP 8 屬性
<?php
#[MyAttribute]
class Emp
{
#[MyAttribute]
public const EMP = 'emp';
#[MyAttribute]
public $a;
#[MyAttribute]
public function foo(#[MyAttribute] $dept){}
}
$object = new #[MyAttribute] class(){};
#[MyAttribute]
function f() {}
$f1 = #[MyAttribute] function(){};
$f2 = #[MyAttribute] fn() => 1;
print_r($f1);
?>輸出
Closure Object ( )
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP