<?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;
/**
* @AnnotationTargetAll(@AnnotationTargetAnnotation)
*
* @param \Closure $callback
* @return \Closure
*/
public function methodName(\Closure $callback) {
$self = $this;
return function () use ($self, $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(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;
}
}
Name | Description |
---|---|
ClassWithClosure | Plugin annotation @AnnotationTargetAll("Foo"); |