Вход Регистрация
Файл: system/vendor/illuminate/container/RewindableGenerator.php
Строк: 51
<?php

namespace IlluminateContainer;

use 
Countable;
use 
IteratorAggregate;

class 
RewindableGenerator implements CountableIteratorAggregate
{
    
/**
     * The generator callback.
     *
     * @var callable
     */
    
protected $generator;

    
/**
     * The number of tagged services.
     *
     * @var callable|int
     */
    
protected $count;

    
/**
     * Create a new generator instance.
     *
     * @param  callable  $generator
     * @param  callable|int  $count
     * @return void
     */
    
public function __construct(callable $generator$count)
    {
        
$this->count $count;
        
$this->generator $generator;
    }

    
/**
     * Get an iterator from the generator.
     *
     * @return mixed
     */
    
public function getIterator()
    {
        return (
$this->generator)();
    }

    
/**
     * Get the total number of tagged services.
     *
     * @return int
     */
    
public function count()
    {
        if (
is_callable($count $this->count)) {
            
$this->count $count();
        }

        return 
$this->count;
    }
}
Онлайн: 2
Реклама