Öznitelik Sözdizimi

Öznitelik sözdizimi çeşitli parçalardan oluşur. İlk olarak, öznitelik bildirimi her zaman bir #[ ile başlar ve bir ] biter. İçeride, virgüllerle ayrılmış bir veya daha fazla öznitelik bulunur. Öznitelik adı, İsim alanlarının kullanımı: Temeller bölümünde açıklandığı gibi nitelenmemiş, nitelenmiş veya tam nitelenmiş olabilir. Özniteliğin bağımsız değişkenleri isteğe bağlıdır, ancak normalde parantez () içine alınır. Özniteliklerin bağımsız değişkenleri yalnızca değişmez değerler veya sabit ifadeleri olabilir. Hem konumsal hem de isimli bağımsız değişken sözdizimi kullanılabilir.

Öznitelik adları ve bağımsız değişkenleri bir sınıfa çözümlenir, eğer özniteliğin bir örneği yansıtma arayüzü aracılığıyla istenirse bağımsız değişkenler kurucuya iletilir. Her öznitelik için böyle bir sınıf kullanılmalıdır.

Örnek 1 - Öznitelik Sözdizimi

<?php
// a.php
namespace MyExample;

use
Attribute;

#[
Attribute]
class
MyAttribute
{
const
VALUE = 'value';

private
$value;

public function
__construct($value = null)
{
$this->value = $value;
}
}

// b.php

namespace Another;

use
MyExample\MyAttribute;

#[
MyAttribute]
#[
\MyExample\MyAttribute]
#[
MyAttribute(1234)]
#[
MyAttribute(value: 1234)]
#[
MyAttribute(MyAttribute::VALUE)]
#[
MyAttribute(array("key" => "value"))]
#[
MyAttribute(100 + 200)]
class
Thing
{
}

#[
MyAttribute(1234), MyAttribute(5678)]
class
AnotherThing
{
}
To Top