mirror of
https://github.com/igorsimdyanov/php8.git
synced 2025-07-25 17:13:08 +00:00
Merge pull request #171 from igorsimdyanov/38_proofreading
Глава 38: корректура
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
interface ArrayAccess {
|
||||
interface ArrayAccess
|
||||
{
|
||||
public offsetExists(mixed $offset): bool
|
||||
public offsetGet(mixed $offset): mixed
|
||||
public offsetSet(mixed $offset, mixed $value): void
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$dir = new DirectoryIterator('.');
|
||||
foreach($dir as $file) {
|
||||
foreach ($dir as $file) {
|
||||
echo $file . '<br />';
|
||||
}
|
||||
|
@ -6,6 +6,6 @@ $filter = new Iterators\ExtensionFilter(
|
||||
'php'
|
||||
);
|
||||
|
||||
foreach($filter as $file) {
|
||||
foreach ($filter as $file) {
|
||||
echo $file . '<br />';
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?php
|
||||
interface Iterator extends Traversable {
|
||||
interface Iterator extends Traversable
|
||||
{
|
||||
public current(): mixed
|
||||
public key(): mixed
|
||||
public next(): void
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
interface IteratorAggregate extends Traversable {
|
||||
interface IteratorAggregate extends Traversable
|
||||
{
|
||||
public getIterator(): Traversable
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class FSDirectoryIterator implements \Iterator
|
||||
$this->rewind();
|
||||
}
|
||||
//*
|
||||
//* Далее идут переопределения виртуальных методов интерфейса Iterator
|
||||
//* Переопределения виртуальных методов интерфейса Iterator
|
||||
//*
|
||||
// Устанавливает итератор на первый элемент
|
||||
public function rewind() : void
|
||||
@ -28,7 +28,8 @@ class FSDirectoryIterator implements \Iterator
|
||||
// Проверяет, не закончились ли уже элементы
|
||||
public function valid() : bool
|
||||
{
|
||||
// readdir() возвращает false, когда элементы каталога закончились
|
||||
// readdir() возвращает false,
|
||||
// когда элементы каталога закончились
|
||||
return $this->cur !== false;
|
||||
}
|
||||
// Возвращает текущий ключ
|
||||
|
@ -3,7 +3,9 @@ namespace Iterators;
|
||||
|
||||
class LimitMyIterator implements \IteratorAggregate {
|
||||
|
||||
public function __construct(private array $collection, private int $limit = 2)
|
||||
public function __construct(
|
||||
private array $collection,
|
||||
private int $limit = 2)
|
||||
{}
|
||||
|
||||
public function getIterator() : \Traversable
|
||||
|
@ -8,6 +8,6 @@ $limit = new LimitIterator(
|
||||
0,
|
||||
5);
|
||||
|
||||
foreach($limit as $file) {
|
||||
foreach ($limit as $file) {
|
||||
echo $file . '<br />';
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ function recursion_dir($path)
|
||||
static $depth = 0;
|
||||
|
||||
$dir = opendir($path);
|
||||
while(($file = readdir($dir)) !== false) {
|
||||
while (($file = readdir($dir)) !== false) {
|
||||
if ($file == '.' || $file == '..' ) continue;
|
||||
echo str_repeat('-', $depth)." $file<br />";
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
$dir = new DirectoryIterator('.');
|
||||
|
||||
foreach($dir as $file) {
|
||||
foreach ($dir as $file) {
|
||||
if ($file->isFile()) {
|
||||
echo $file . ' ' .$file->getSize() . '<br />';
|
||||
}
|
||||
|
@ -10,6 +10,6 @@ $collection = new ArrayObject($array);
|
||||
echo $collection[2]; // третий
|
||||
echo '<br />';
|
||||
|
||||
foreach($collection as $key => $value) {
|
||||
foreach ($collection as $key => $value) {
|
||||
echo "Элемент с индексом $key и значением $value<br />";
|
||||
}
|
||||
|
@ -9,6 +9,6 @@ $array = ['первый',
|
||||
|
||||
$collection = new Iterators\LimitMyIterator($array);
|
||||
|
||||
foreach($collection as $key => $value) {
|
||||
foreach ($collection as $key => $value) {
|
||||
echo "Элемент с индексом $key и значением $value<br />";
|
||||
}
|
||||
|
@ -9,6 +9,6 @@ $array = ['первый',
|
||||
|
||||
$collection = new Iterators\MyIterator($array);
|
||||
|
||||
foreach($collection as $key => $value) {
|
||||
foreach ($collection as $key => $value) {
|
||||
echo "Элемент с индексом $key и значением $value<br />";
|
||||
}
|
||||
|
Reference in New Issue
Block a user