Ö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 değiştirgeleri isteğe bağlıdır, ancak normalde parantez () içine alınır. Özniteliklerin değiştirgeleri yalnızca değişmez değerler veya sabit ifadeleri olabilir. Hem konumsal hem de isimli değiştirge sözdizimi kullanılabilir.

Öznitelik adları ve değiştirgeleri bir sınıfa çözümlenir, eğer özniteliğin bir örneği yansıtma arayüzü aracılığıyla istenirse değiştirgeler 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
{
}
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top