1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
<?php
namespace Doctrine\Tests\Common\Annotations\Fixtures;
use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAll;
use Doctrine\Tests\Common\Annotations\Fixtures\AnnotationTargetAnnotation;
/**
* @AnnotationTargetAll("Foo")
*/
final class ClassWithClosure
{
/**
* @AnnotationTargetAll(@AnnotationTargetAnnotation)
* @var string
*/
public $value;
/**
* @return \Closure
*
* @AnnotationTargetAll(@AnnotationTargetAnnotation)
*/
public function methodName(\Closure $callback)
{
return static function () use ($callback) {
return $callback;
};
}
/**
* @param integer $year
* @param integer $month
* @param integer $day
*
* @return \Doctrine\Common\Collections\ArrayCollection
*/
public function getEventsForDate($year, $month, $day)
{
$extractEvents = null; // check if date of item is inside day given
$extractEvents = $this->events->filter(static function ($item) use ($year, $month, $day) {
$leftDate = new \DateTime($year . '-' . $month . '-' . $day . ' 00:00');
$rigthDate = new \DateTime($year . '-' . $month . '-' . $day . ' +1 day 00:00');
return ( $leftDate <= $item->getDateStart() ) && ( $item->getDateStart() < $rigthDate );
});
return $extractEvents;
}
}
|