1--TEST--
2#[\Deprecated]: Works in stubs.
3--EXTENSIONS--
4zend_test
5--FILE--
6<?php
7zend_test_deprecated();
8zend_test_deprecated_attr();
9
10$reflection = new ReflectionFunction('zend_test_deprecated_attr');
11var_dump($reflection->getAttributes()[0]->newInstance());
12var_dump($reflection->isDeprecated());
13
14_ZendTestClass::ZEND_TEST_DEPRECATED_ATTR;
15
16$reflection = new ReflectionClassConstant('_ZendTestClass', 'ZEND_TEST_DEPRECATED_ATTR');
17var_dump($reflection->getAttributes()[0]->newInstance());
18var_dump($reflection->isDeprecated());
19
20?>
21--EXPECTF--
22Deprecated: Function zend_test_deprecated() is deprecated in %s on line %d
23
24Deprecated: Function zend_test_deprecated_attr() is deprecated, custom message in %s on line %d
25object(Deprecated)#%d (2) {
26  ["message"]=>
27  string(14) "custom message"
28  ["since"]=>
29  NULL
30}
31bool(true)
32
33Deprecated: Constant _ZendTestClass::ZEND_TEST_DEPRECATED_ATTR is deprecated, custom message in %s on line %d
34object(Deprecated)#%d (2) {
35  ["message"]=>
36  string(14) "custom message"
37  ["since"]=>
38  NULL
39}
40bool(true)
41