The Attribute attribute

Introduction

Attributes offer the ability to add structured, machine-readable metadata information on declarations in code: Classes, methods, functions, parameters, properties and class constants can be the target of an attribute. The metadata defined by attributes can then be inspected at runtime using the Reflection APIs. Attributes could therefore be thought of as a configuration language embedded directly into code.

Class synopsis

final Attribute
/* Constants */
const int Attribute::TARGET_CLASS;
const int Attribute::TARGET_FUNCTION;
const int Attribute::TARGET_METHOD;
const int Attribute::TARGET_PROPERTY;
const int Attribute::TARGET_CLASS_CONSTANT;
const int Attribute::TARGET_PARAMETER;
const int Attribute::TARGET_ALL;
const int Attribute::IS_REPEATABLE;
/* Properties */
public int $flags;
/* Methods */
public __construct(int $flags = Attribute::TARGET_ALL)

Predefined Constants

Attribute::TARGET_CLASS

Attribute::TARGET_FUNCTION

Attribute::TARGET_METHOD

Attribute::TARGET_PROPERTY

Attribute::TARGET_CLASS_CONSTANT

Attribute::TARGET_PARAMETER

Attribute::TARGET_ALL

Attribute::IS_REPEATABLE

Properties

flags

Table of Contents