Reflection/ReflectionClassConstant.php (36 lines of code) (raw):
<?php
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Immutable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\TentativeType;
use JetBrains\PhpStorm\Pure;
/**
* The ReflectionClassConstant class reports information about a class constant.
*
* @link https://www.php.net/manual/en/class.reflectionclassconstant.php
* @since 7.1
*/
class ReflectionClassConstant implements Reflector
{
/**
* @var string Constant name, same as calling the {@see ReflectionClassConstant::getName()} method
*/
#[Immutable]
#[LanguageLevelTypeAware(['8.1' => 'string'], default: '')]
public $name;
/**
* @var class-string Fully qualified class name where this constant was defined
*/
#[Immutable]
#[LanguageLevelTypeAware(['8.1' => 'string'], default: '')]
public $class;
/**
* @var bool
* @since 8.1
*/
#[Immutable]
public bool $isFinal;
/**
* Indicates that the constant is public.
*
* @since 8.0
*/
public const IS_PUBLIC = 1;
/**
* Indicates that the constant is protected.
*
* @since 8.0
*/
public const IS_PROTECTED = 2;
/**
* Indicates that the constant is private.
*
* @since 8.0
*/
public const IS_PRIVATE = 4;
/**
* @since 8.1
*/
public const IS_FINAL = 5;
/**
* ReflectionClassConstant constructor.
*
* @param class-string|object $class Either a string containing the name of the class to reflect, or an object.
* @param string $constant The name of the class constant.
* @since 7.1
* @link https://php.net/manual/en/reflectionclassconstant.construct.php
*/
public function __construct(#[LanguageLevelTypeAware(['8.0' => 'string|object'], default: '')] $class, string $constant) {}
/**
* @link https://php.net/manual/en/reflectionclassconstant.export.php
* @param string|object $class The reflection to export.
* @param string $name The class constant name.
* @param bool $return Setting to {@see true} will return the export, as opposed to emitting it. Setting
* to {@see false} (the default) will do the opposite.
* @return string|null
* @since 7.1
* @removed 8.0
*/
#[Deprecated(since: '7.4')]
public static function export($class, $name, $return = false) {}
/**
* Gets declaring class
*
* @return ReflectionClass
* @link https://php.net/manual/en/reflectionclassconstant.getdeclaringclass.php
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function getDeclaringClass(): ReflectionClass {}
/**
* Gets doc comments
*
* @return string|false The doc comment if it exists, otherwise {@see false}
* @link https://php.net/manual/en/reflectionclassconstant.getdoccomment.php
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function getDocComment(): string|false {}
/**
* Gets the class constant modifiers
*
* @return int A numeric representation of the modifiers. The actual meanings of these modifiers are described in
* the predefined constants.
* @link https://php.net/manual/en/reflectionclassconstant.getmodifiers.php
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function getModifiers(): int {}
/**
* Get name of the constant
*
* @link https://php.net/manual/en/reflectionclassconstant.getname.php
* @return string Returns the constant's name.
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function getName(): string {}
/**
* Gets value
*
* @link https://php.net/manual/en/reflectionclassconstant.getvalue.php
* @return mixed The value of the class constant.
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function getValue(): mixed {}
/**
* Checks if class constant is private
*
* @link https://php.net/manual/en/reflectionclassconstant.isprivate.php
* @return bool
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function isPrivate(): bool {}
/**
* Checks if class constant is protected
*
* @link https://php.net/manual/en/reflectionclassconstant.isprotected.php
* @return bool
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function isProtected(): bool {}
/**
* Checks if class constant is public
*
* @link https://php.net/manual/en/reflectionclassconstant.ispublic.php
* @return bool
* @since 7.1
*/
#[Pure]
#[TentativeType]
public function isPublic(): bool {}
/**
* Returns the string representation of the ReflectionClassConstant object.
*
* @link https://php.net/manual/en/reflectionclassconstant.tostring.php
* @return string
* @since 7.1
*/
public function __toString(): string {}
/**
* @template T
*
* Returns an array of constant attributes.
*
* @param class-string<T>|null $name Name of an attribute class
* @param int $flags Сriteria by which the attribute is searched.
* @return ReflectionAttribute<T>[]
* @since 8.0
*/
#[Pure]
public function getAttributes(?string $name = null, int $flags = 0): array {}
/**
* ReflectionClassConstant cannot be cloned
*
* @return void
*/
#[PhpStormStubsElementAvailable(from: "5.4", to: "8.0")]
final private function __clone(): void {}
/**
* ReflectionClassConstant cannot be cloned
*
* @return void
*/
#[PhpStormStubsElementAvailable(from: "8.1")]
private function __clone(): void {}
#[PhpStormStubsElementAvailable('8.1')]
public function isEnumCase(): bool {}
/**
* @return bool
* @since 8.1
*/
public function isFinal(): bool {}
/**
* @since 8.3
*/
public function hasType(): bool {}
/**
* @since 8.3
*/
public function getType(): ?ReflectionType {}
/**
* @since 8.4
*/
public function isDeprecated(): bool {}
}