mirror of
https://github.com/php/php-src.git
synced 2026-03-28 18:22:42 +01:00
This is a minor BC break, because classes inheriting from DateTime and overriding __set_state() now have to specify the additional parameter as well. However, adding the additional parameter also continues to work on previous versions of PHP, so this change is acceptable for master.
209 lines
4.0 KiB
PHP
209 lines
4.0 KiB
PHP
--TEST--
|
|
Test DateTime class registration
|
|
--FILE--
|
|
<?php
|
|
|
|
echo "*** Verify DateTime class ***\n";
|
|
|
|
echo "Verify DateTime class registered OK\n";
|
|
$class = new ReflectionClass('DateTime');
|
|
var_dump($class);
|
|
|
|
echo "..and get names of all its methods\n";
|
|
$methods = $class->getMethods();
|
|
var_dump($methods);
|
|
|
|
echo "..and get names of all its class constants\n";
|
|
$constants = $class->getConstants();
|
|
var_dump($constants);
|
|
|
|
echo "..and get __set_state arguments\n";
|
|
$method = new ReflectionMethod('DateTime', '__set_state');
|
|
var_dump($method->getParameters());
|
|
var_dump($method->getParameters()[0]->isOptional());
|
|
|
|
?>
|
|
===DONE===
|
|
--EXPECTF--
|
|
*** Verify DateTime class ***
|
|
Verify DateTime class registered OK
|
|
object(ReflectionClass)#%d (1) {
|
|
["name"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
..and get names of all its methods
|
|
array(19) {
|
|
[0]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(11) "__construct"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[1]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(8) "__wakeup"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[2]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(11) "__set_state"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[3]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(19) "createFromImmutable"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[4]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(16) "createFromFormat"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[5]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(13) "getLastErrors"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[6]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(6) "format"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[7]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(6) "modify"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[8]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(3) "add"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[9]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(3) "sub"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[10]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(11) "getTimezone"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[11]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(11) "setTimezone"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[12]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(9) "getOffset"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[13]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(7) "setTime"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[14]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(7) "setDate"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[15]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(10) "setISODate"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[16]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(12) "setTimestamp"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[17]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(12) "getTimestamp"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
[18]=>
|
|
object(ReflectionMethod)#%d (2) {
|
|
["name"]=>
|
|
string(4) "diff"
|
|
["class"]=>
|
|
string(8) "DateTime"
|
|
}
|
|
}
|
|
..and get names of all its class constants
|
|
array(13) {
|
|
["ATOM"]=>
|
|
string(13) "Y-m-d\TH:i:sP"
|
|
["COOKIE"]=>
|
|
string(16) "l, d-M-Y H:i:s T"
|
|
["ISO8601"]=>
|
|
string(13) "Y-m-d\TH:i:sO"
|
|
["RFC822"]=>
|
|
string(16) "D, d M y H:i:s O"
|
|
["RFC850"]=>
|
|
string(16) "l, d-M-y H:i:s T"
|
|
["RFC1036"]=>
|
|
string(16) "D, d M y H:i:s O"
|
|
["RFC1123"]=>
|
|
string(16) "D, d M Y H:i:s O"
|
|
["RFC7231"]=>
|
|
string(21) "D, d M Y H:i:s \G\M\T"
|
|
["RFC2822"]=>
|
|
string(16) "D, d M Y H:i:s O"
|
|
["RFC3339"]=>
|
|
string(13) "Y-m-d\TH:i:sP"
|
|
["RFC3339_EXTENDED"]=>
|
|
string(15) "Y-m-d\TH:i:s.vP"
|
|
["RSS"]=>
|
|
string(16) "D, d M Y H:i:s O"
|
|
["W3C"]=>
|
|
string(13) "Y-m-d\TH:i:sP"
|
|
}
|
|
..and get __set_state arguments
|
|
array(1) {
|
|
[0]=>
|
|
object(ReflectionParameter)#%d (1) {
|
|
["name"]=>
|
|
string(5) "array"
|
|
}
|
|
}
|
|
bool(false)
|
|
===DONE===
|