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
MyInterfacez metodąprocess, która przyjmuje argument typucallable. - Implementacja interfejsu: Tworzymy klasę
MyClassimplementującą interfejsMyInterface. - Użycie interfejsu: Tworzymy instancję klasy
MyClassi przekazujemy do metodyprocessanonimową 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.