Computer >> Máy Tính >  >> Lập trình >> PHP

Các thuộc tính trong PHP 8

Thuộc tính là các loại lớp có thể được sử dụng để thêm siêu dữ liệu vào các lớp khác, hàm, phương thức lớp, thuộc tính lớp, hằng số và tham số. Các thuộc tính không làm gì trong thời gian chạy.

Các thuộc tính không ảnh hưởng đến mã, nhưng có sẵn cho API phản chiếu. Các thuộc tính trong PHP 8 cho phép mã khác kiểm tra các thuộc tính và phương thức của lớp.

  • Chúng ta có thể có nhiều thuộc tính cho một khai báo.

  • Nó có thể giải quyết tên lớp.

  • Các thuộc tính có thể được đặt trong không gian tên.

  • Nó có thể không có hoặc nhiều tham số

Cú pháp thuộc tính PHP 8

  • Trong PHP 8, # [] (# và dấu ngoặc vuông) được sử dụng để khai báo thuộc tính.

  • Chúng ta có thể khai báo nhiều thuộc tính bên trong # [], được phân tách bằng dấu phẩy.

  • Các đối số là tùy chọn để sử dụng nhưng cần được đặt bên trong dấu ngoặc đơn ().

  • Các đối số có thể là giá trị theo nghĩa đen hoặc biểu thức hằng.

Thuộc tính:Cú pháp

#[attribute]

Ví dụ, chúng ta có thể sử dụng một thuộc tính cho một lớp.

#[Attribute]
Final class EmpClass{
}

Ví dụ:Hàm thuộc tính

#[Attr('param')]
function Exam(){}

Ví dụ:Các lớp thuộc tính

Bài kiểm tra lớp
#[Attr('param')]
class Exam{}

Ví dụ:Thuộc tính lớp thuộc tính

class Emp{
   #[Attribute('param')]
   public $name;
}

Ví dụ:Hằng số lớp thuộc tính

Class Emp{
   #[Attribute('emp')]
   private const EMP = 'emp';
}

Ví dụ:Hàm thuộc tính

#[Attribute('emp')]
function exam(){}

Ví dụ:Đối số phương pháp thuộc tính

Function emp(#[Attribute('param')]$name){
}

Ví dụ:Thuộc tính PHP 8 sử dụng các hàm, phương thức, tham số và hằng số

<?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);
?>

Đầu ra

Closure Object ( )