Closure is a function or a reference for a function together with a table that includes references for each one of the non local variables that exist within the outer scope of the closure. Unlike a plain function pointer the closure can use those non local variables that belong to its outer scope even when invoked out of it.
<?php
class Something
{
private $number;
private $person;
public function __construct($num)
{
$this->number = $num;
}
public function getFunction()
{
return function()
{
for($i=1;$i<=$this->number;$i++)
{
echo "<br>gaga";
}
};
}
}
$obA = new Something(7);
$obB = new Something(3);
$temp = $obB->getFunction();
$temp();
?>
The following video clip shows the execution of this code sample, overviews it and explains it.







