/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/date/tests/DatePeriod_IteratorAggregate.phpt
93 строки
2 KB
Máté Kocsis
Deprecate calling DatePeriod::__construct() with less than 3 arguments
05 дек 2023, 00:27
05 дек 2023, 00:27
adc2642
Код
Авторство
О чём код?
--TEST-- DatePeriod can be used as an IteratorAggregate --FILE-- <?php $period = new DatePeriod('R2/2012-07-01T00:00:00Z/P7D'); foreach ($period as $i => $date) { echo "$i: ", $date->format('Y-m-d'), "\n"; } echo "\n"; foreach ($period->getIterator() as $i => $date) { echo "$i: ", $date->format('Y-m-d'), "\n"; } echo "\n"; $iter = $period->getIterator(); for (; $iter->valid(); $iter->next()) { $i = $iter->key(); $date = $iter->current(); echo "$i: ", $date->format('Y-m-d'), "\n"; } echo "\n"; $iter->rewind(); for (; $iter->valid(); $iter->next()) { $i = $iter->key(); $date = $iter->current(); echo "$i: ", $date->format('Y-m-d'), "\n"; } echo "\n"; foreach (new IteratorIterator($period) as $i => $date) { echo "$i: ", $date->format('Y-m-d'), "\n"; } // Extension that does not overwrite getIterator(). class MyDatePeriod1 extends DatePeriod { } echo "\n"; $period = new MyDatePeriod1('R2/2012-07-01T00:00:00Z/P7D'); foreach ($period as $i => $date) { echo "$i: ", $date->format('Y-m-d'), "\n"; } // Extension that does overwrite getIterator(). class MyDatePeriod2 extends DatePeriod { public function getIterator(): Iterator { return new ArrayIterator([1, 2, 3]); } } echo "\n"; $period = new MyDatePeriod2('R2/2012-07-01T00:00:00Z/P7D'); foreach ($period as $i => $notDate) { echo "$i: $notDate\n"; } ?> --EXPECTF-- Deprecated: Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, use DatePeriod::createFromISO8601String() instead in %s on line %d 0: 2012-07-01 1: 2012-07-08 2: 2012-07-15 0: 2012-07-01 1: 2012-07-08 2: 2012-07-15 0: 2012-07-01 1: 2012-07-08 2: 2012-07-15 0: 2012-07-01 1: 2012-07-08 2: 2012-07-15 0: 2012-07-01 1: 2012-07-08 2: 2012-07-15 Deprecated: Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, use DatePeriod::createFromISO8601String() instead in %s on line %d 0: 2012-07-01 1: 2012-07-08 2: 2012-07-15 Deprecated: Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, use DatePeriod::createFromISO8601String() instead in %s on line %d 0: 1 1: 2 2: 3