public function __construct(RecursiveIterator $iterator, $callback)
 {
     $this->iterator = $iterator;
     $this->callback = $callback;
     parent::__construct($iterator, $callback);
 }
Пример #2
0
<?php

/**
 * Calculate lines of files
 *
 * @author Ondřej Kubíček (http://www.kubon.cz)
 */
$args = $_SERVER['argv'];
if (isset($args[1])) {
    $count = 0;
    $path = $args[1];
    if (is_file($path)) {
        $iterator = [$path];
    } elseif (is_dir($path)) {
        $iterator = new CallbackFilterIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)), function ($file, $key, $iterator) {
            return !$file->isDir() && !$iterator->isDot();
        });
    } else {
        echo "Path {$path} not found.\n";
        die(1);
    }
    foreach ($iterator as $file) {
        echo $file;
        $count += $lines = iterator_count(getLines($file));
        echo " {$lines}\n";
    }
    echo "Total lines of files: {$count}";
} else {
    echo "\n\t\tCounter lines\n\t\t----------------------------\n\t\tUsage: {$args[0]} [<directory> | <file>]\n\t\t";
    die(1);
}
 public function __construct(\RecursiveIterator $iterator, $callback)
 {
     parent::__construct($iterator, $callback);
 }
Пример #4
0
 public function __construct(\Iterator $iterator, callable $callback)
 {
     parent::__construct($iterator, ensureCallable($callback));
     $this->description = describeCallable($callback);
 }