1--TEST-- 2DatePeriod arguments/wrong arguments 3--FILE-- 4<?php 5$dp = new DatePeriod(new \DateTimeImmutable("2023-01-13 12:29:30"), DateInterval::createFromDateString("tomorrow"), 4); 6echo get_class($dp) == 'DatePeriod' ? "OK\n" : "FAIL\n"; 7 8$dp = new DatePeriod(new \DateTimeImmutable("2023-01-13 12:29:30"), DateInterval::createFromDateString("tomorrow"), new \DateTimeImmutable("2023-01-16 16:49:29")); 9echo get_class($dp) == 'DatePeriod' ? "OK\n" : "FAIL\n"; 10 11$dp = new DatePeriod("R4/2012-07-01T00:00:00Z/P7D"); 12echo get_class($dp) == 'DatePeriod' ? "OK\n" : "FAIL\n"; 13 14$dp = DatePeriod::createFromISO8601String("R4/2012-07-01T00:00:00Z/P7D"); 15echo get_class($dp) == 'DatePeriod' ? "OK\n" : "FAIL\n"; 16 17try { 18 $dp = new DatePeriod("2023-01-13 17:24:58", DateInterval::createFromDateString("tomorrow"), 4); 19 echo "OK\n"; 20} catch (\TypeError $e) { 21 echo $e::class, ': ', $e->getMessage(), "\n"; 22} 23?> 24--EXPECT-- 25OK 26OK 27OK 28OK 29TypeError: DatePeriod::__construct() accepts (DateTimeInterface, DateInterval, int [, int]), or (DateTimeInterface, DateInterval, DateTime [, int]), or (string [, int]) as arguments 30