mirror of
https://github.com/php/php-src.git
synced 2025-01-25 05:04:20 +08:00
ce1d69a1f6
PHP requires integer typehints to be written "int" and does not allow "integer" as an alias. This changes type error messages to match the actual type name and avoids confusing messages like "must be of the type integer, integer given".
48 lines
769 B
PHP
48 lines
769 B
PHP
--TEST--
|
|
Test variations of getting constant values
|
|
--FILE--
|
|
<?php
|
|
|
|
/* Use separate classes to make sure that in-place constant updates don't interfere */
|
|
class A {
|
|
const X = self::Y * 2;
|
|
const Y = 1;
|
|
}
|
|
class B {
|
|
const X = self::Y * 2;
|
|
const Y = 1;
|
|
}
|
|
class C {
|
|
const X = self::Y * 2;
|
|
const Y = 1;
|
|
}
|
|
|
|
var_dump((new ReflectionClassConstant('A', 'X'))->getValue());
|
|
echo new ReflectionClassConstant('B', 'X');
|
|
echo new ReflectionClass('C');
|
|
|
|
?>
|
|
--EXPECTF--
|
|
int(2)
|
|
Constant [ public int X ] { 2 }
|
|
Class [ <user> class C ] {
|
|
@@ %s 12-15
|
|
|
|
- Constants [2] {
|
|
Constant [ public int X ] { 2 }
|
|
Constant [ public int Y ] { 1 }
|
|
}
|
|
|
|
- Static properties [0] {
|
|
}
|
|
|
|
- Static methods [0] {
|
|
}
|
|
|
|
- Properties [0] {
|
|
}
|
|
|
|
- Methods [0] {
|
|
}
|
|
}
|