1
0
mirror of https://github.com/php/php-src.git synced 2026-04-18 05:21:02 +02:00
Files
archived-php-src/Zend/tests/class_on_object.phpt
Nikita Popov d933591674 Add support for $obj::class
This allows $obj::class, which gives the same result as get_class($obj).
Anything other than an object results in TypeError.

RFC: https://wiki.php.net/rfc/class_name_literal_on_object

Closes GH-5065.
2020-02-11 12:16:30 +01:00

29 lines
515 B
PHP

--TEST--
Using ::class on an object
--FILE--
<?php
$obj = new stdClass;
var_dump($obj::class);
$ref =& $obj;
var_dump($ref::class);
var_dump((new stdClass)::class);
// Placed in a function to check that opcache doesn't perform incorrect constprop.
function test() {
$other = null;
var_dump($other::class);
}
try {
test();
} catch (TypeError $e) {
echo $e->getMessage(), "\n";
}
?>
--EXPECT--
string(8) "stdClass"
string(8) "stdClass"
string(8) "stdClass"
Cannot use ::class on value of type null