(PHP 5 >= 5.4.0, PHP 7)
Closure::bindTo — Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos
Crea y devuelve una nueva función anónima con el cuerpo y variables vinculadas como ésta, pero posiblemente con un objeto vinculado diferente y un nuevo ámbito de clase.
   El "objeto vinculado" determina el valor que $this
   tendrá en el cuerpo de la función, y el "ámbito de clase" representa una clase
   que determina los miembros privados y protegidos a los que será capaz
   de acceder la función anónima. Concretamente, los miembros que serán
   visibles son los mismos que si la función anónima fuese un método de
   la clase dada como valor del parámetro
   newscope.
  
   Los cierres estáticos no pueden tener ningún objeto vinculado (el valor del parámetro
   newthis debería ser NULL), pero esta función puede,
   no obstante, usarse para cambiar su ámbito de clase.
  
   Esta función se asegurará de que a un cierre no estático que tenga una instancia
   vinculada se le aplique un ámbito y viceversa. En este punto,
   los cierres no estáticos que le son dados un ámbito, excepto una instancia NULL, son hechos
   estáticos, y los cierres no estáticos y sin ámbito que le son dados una instancia no
   nula se les aplica un ámbito de clase no especificado.
  
Nota:
Si solamente se quieren duplicar las funciones anónimas, se puede usar cloning en su lugar.
newthis
      El objeto al que la función anónima dada debería ser vinculado, o
      NULL para que el cierre sea desvinculado.
     
newscopeEl ámbito de la clase a la que se va a asociar el cierre, o 'static' para mantener el actual. Si se proporciona un objeto, el tipo del mismo se usará en su lugar. Esto determina la visibilidad de métodos protegidos y privados del objeto vinculado. No se permite pasar (un objeto de) una clase interna a este parémtro.
   Devuelve el objeto Closure recién creado
    o FALSE en caso de error
  
| Versión | Descripción | 
|---|---|
| 7.0.0 | newscopeya no puede ser (un objeto de) una clase
        interna, lo cual era posible antes de esta versión. | 
Ejemplo #1 Ejemplo de Closure::bindTo()
<?php
class A {
    function __construct($val) {
        $this->val = $val;
    }
    function getClosure() {
        //devuelve el cierre vinculado a este objeto y el ámbito
        return function() { return $this->val; };
    }
}
$ob1 = new A(1);
$ob2 = new A(2);
$cl = $ob1->getClosure();
echo $cl(), "\n";
$cl = $cl->bindTo($ob2);
echo $cl(), "\n";
?>
El resultado del ejemplo sería algo similar a:
1 2