Funkcje Anonimowe i Funkcje Zwrotne (Callbacks) w PHP

W PHP, funkcje anonimowe, często nazywane wyrażeniami lambda lub closures, to funkcje bez nazwy, które można przypisać do zmiennych, przekazywać jako argumenty do innych funkcji, a nawet zwracać jako wartości z funkcji. Dzięki swojej elastyczności, znajdują zastosowanie w różnych scenariuszach, takich jak operacje na tablicach, implementacja wzorców projektowych oraz obsługa zdarzeń.

Funkcje zwrotne (ang. callbacks) to funkcje przekazywane jako argumenty do innych funkcji, które są wywoływane wewnątrz tych funkcji. W PHP, funkcje zwrotne mogą być przekazywane jako nazwy funkcji w postaci łańcucha znaków, tablic zawierających obiekt i metodę, a także jako funkcje anonimowe.

Przykład użycia funkcji anonimowej i funkcji zwrotnej w PHP z prostym HTML:

<?php
// Przykład sortowania tablicy z użyciem funkcji
// anonimowej jako funkcji zwrotnej
$numbers = [3, 2, 5, 6, 1];

// Używamy funkcji anonimowej jako funkcji 
// porównującej dla sortowania tablicy
usort($numbers, function($a, $b) {
    // Porównujemy dwie wartości
    return $a <=> $b;
});

// Wyświetlanie posortowanej tablicy
echo "<h1>Posortowana tablica</h1>";
echo "<p>" . implode(', ', $numbers) . "</p>";

// Użycie funkcji anonimowej w połączeniu z HTML i JavaScript
?>
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Funkcje Anonimowe i Callback w PHP</title>
</head>
<body>
    <h2>Kliknij przycisk, aby zobaczyć wiadomość</h2>
    <button onclick="showMessage()">Pokaż Wiadomość</button>
    <script>
        // Definicja funkcji showMessage używająca PHP 
        // do wstrzyknięcia treści
        function showMessage() {
            alert("<?php 
                // Używamy funkcji anonimowej przypisanej 
                // do zmiennej, aby wygenerować treść komunikatu
                $getMessage = function() {
                    return "Witaj, to komunikat z PHP!";
                };
                echo $getMessage();
            ?>");
        }
    </script>
</body>
</html>

W tym przykładzie, najpierw demonstrujemy wykorzystanie funkcji anonimowej w PHP do sortowania tablicy za pomocą funkcji usort(). Funkcja anonimowa przekazana jako argument usort() definiuje sposób porównywania elementów tablicy, co pozwala na ich posortowanie.

Następnie, w sekcji HTML i JavaScript, pokazujemy, jak można wykorzystać funkcję anonimową w PHP do generowania treści, która zostanie użyta w skrypcie JavaScript. W tym przypadku, funkcja anonimowa przypisana do zmiennej $getMessage zwraca komunikat, który jest wyświetlany po kliknięciu przycisku w przeglądarce.

Takie połączenie PHP z HTML i JavaScript pokazuje, jak funkcje anonimowe mogą być użyteczne w różnych kontekstach programistycznych, zapewniając elastyczność i umożliwiając czysty, modularny kod.

Scroll to Top