Interfejsy a typy callable
Założenie: Pokażemy, jak wykorzystać typ callable
w definicji interfejsu, aby określić, że metoda może przyjmować funkcję jako argument.
Krok po kroku:
- Definicja interfejsu: Tworzymy interfejs
MyInterface
z metodąprocess
, która przyjmuje argument typucallable
. - Implementacja interfejsu: Tworzymy klasę
MyClass
implementującą interfejsMyInterface
. - Użycie interfejsu: Tworzymy instancję klasy
MyClass
i przekazujemy do metodyprocess
anonimową funkcję (closure).
interface MyInterface {
public function process(callable $callback);
}
Ten kod definiuje interfejs z metodą process
. Argument $callback
musi być typem callable
, co oznacza, że może to być nazwa funkcji, metoda obiektu lub wyrażenie anonimowe (closure).
class MyClass implements MyInterface {
public function process(callable $callback) {
$result = $callback();
echo "Wynik: " . $result;
}
}
Klasa MyClass
implementuje metodę process
, która przyjmuje funkcję zwrotną i ją wykonuje. Wynik jest następnie wyświetlany.
$myObject = new MyClass();
$myObject->process(function() {
return 10 + 5;
});
Tutaj tworzymy obiekt MyClass
i wywołujemy metodę process
, przekazując anonimową funkcję, która zwraca sumę 10 i 5. Wynik zostanie wyświetlony.
Ten przykład pokazuje podstawowe wykorzystanie typu callable
w interfejsach w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi typami funkcji zwrotnych.