Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pas de liaison mais avec l’original

<?php

class A {
    public function method() {    }
}

class B extends A  {
    public function method() {    }
}

class C {
    public function method() {    }
}

class D { }

$fn = Closure::fromCallable([new A, 'method']);
$fn->call(new B); // error
$fn->call(new C); // error
$fn->call(new D); // error

?>

Il est possible de changer l’objet sous-jacent d’une closure. La nouvelle closure sera exécutée avec le nouvel objet, en utilisant la même méthode.

En revanche, il n’est pas possible d’appeler cette closure sur une autre classe, même si cette classe possède la même méthode, ni même si la classe est une classe enfant de la classe originale. Il doit s’agir exactement de la même classe d’origine.

See Also

PHP Error Messages

PHP Features

Last updated: 11 October 2026