PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP8の属性


属性は、他のクラス、関数、クラスメソッド、クラスプロパティ、定数、およびパラメーターにメタデータを追加するために使用できるクラスの種類です。属性は実行時に何もしません。

属性はコードに影響を与えませんが、リフレクションAPIで使用できます。 PHP 8の属性を使用すると、他のコードでクラスのプロパティとメソッドを調べることができます。

  • 宣言には複数の属性を含めることができます。

  • クラス名を解決する場合があります。

  • 属性には名前空間を付けることができます。

  • パラメータが0個以上ある場合があります

PHP8属性構文

  • 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){
}

例:関数、メソッド、パラメーター、定数を使用したPHP8属性

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

  1. HTMLデータ-*属性

    HTMLのdata-*属性は、すべてのHTML要素にカスタムデータ属性を埋め込むために使用されます。これはグローバル属性であり、任意の要素で使用できます。 以下は構文です- <element data-attribute-name=”attribute_value” 上記では、属性名は小文字のみにする必要があります。そのため、プレフィックス「data-」の後に少なくとも1文字長くする必要があります ここで、HTMLでdata-*属性を実装する例を見てみましょう。属性のいずれかをクリックして、詳細情報を取得します- 例 <!DOCTYPE html>

  2. HTML属性

    属性は、画像やキャンバスの幅や高さなどの要素のプロパティを設定するために使用されます。すべての要素は属性を持つことができ、より多くの情報を提供します。属性には名前と値があります- 例- <canvas id=”newCanvas” width=”400” height=”300”> 他の例には-が含まれます <img alt=”alternate text”> HTML5標準によれば、属性の前後に引用符を含めることは必須ではありませんが、引用符を含めることは常に良い習慣