/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/bug66405.phpt
59 строк
1 KB
Máté Kocsis
Declare tentative return types for ext/spl - part 1 (#7115)
13 июл 2021, 14:04
Не верифицирован
13 июл 2021, 14:04
c6357b8
Код
Авторство
О чём код?
--TEST-- SPL: RecursiveDirectoryIterator with CURRENT_AS_PATHNAME flag --CREDITS-- Paul Garvin pgarvin76@gmail.com --FILE-- <?php $td = __DIR__ . '/bug66405'; mkdir($td); touch($td . '/file1.txt'); touch($td . '/file2.md'); mkdir($td . '/testsubdir'); touch($td . '/testsubdir/file3.csv'); class Bug66405 extends RecursiveDirectoryIterator { public function current(): string|SplFileInfo|FilesystemIterator { $current = parent::current(); echo gettype($current) . " $current\n"; return $current; } public function getChildren(): RecursiveDirectoryIterator { $children = parent::getChildren(); if (is_object($children)) { echo get_class($children) . " $children\n"; } else { echo gettype($children) . " $children\n"; } return $children; } } $rdi = new Bug66405($td, FilesystemIterator::CURRENT_AS_PATHNAME | FilesystemIterator::SKIP_DOTS); $rii = new RecursiveIteratorIterator($rdi); ob_start(); foreach ($rii as $file) { //noop } $results = explode("\n", ob_get_clean()); sort($results); echo implode("\n", $results); ?> --CLEAN-- <?php $td = __DIR__ . '/bug66405'; unlink($td . '/testsubdir/file3.csv'); unlink($td . '/file2.md'); unlink($td . '/file1.txt'); rmdir($td . '/testsubdir'); rmdir($td); ?> --EXPECTF-- Bug66405 file3.csv string %sbug66405%efile1.txt string %sbug66405%efile2.md string %sbug66405%etestsubdir%efile3.csv