Wyszukiwanie wartości z użyciem technik metaprogramowania

Założenie: Stworzymy prosty przykład, który demonstruje wyszukiwanie wartości w tablicy asocjacyjnej (symulującej encję) na podstawie nazwy klucza (metadanych).

Krok po kroku:

  1. Definicja tablicy asocjacyjnej (encji):
  2. 
    $user = [
        'firstName' => 'Jan',
        'lastName' => 'Kowalski',
        'age' => 30
    ];
    				

    Tworzymy tablicę asocjacyjną $user, która reprezentuje naszą “encję” z danymi użytkownika.

  3. Funkcja wyszukiwania:
  4. 
    function findValue(array $entity, string $key): mixed {
        return $entity[$key] ?? null; // Zwraca wartość lub null, jeśli klucz nie istnieje
    }
    				

    Funkcja findValue przyjmuje tablicę i nazwę klucza jako argumenty. Operator ?? zapewnia zwrot wartości null, jeśli klucz nie istnieje w tablicy, zapobiegając błędom.

  5. Wyszukiwanie wartości:
  6. 
    $firstName = findValue($user, 'firstName');
    $age = findValue($user, 'age');
    $city = findValue($user, 'city'); // Klucz 'city' nie istnieje
    
    echo "Imię: " . $firstName . "\n";
    echo "Wiek: " . $age . "\n";
    echo "Miasto: " . $city . "\n"; // Wyświetli null
    				

    Wywołujemy funkcję findValue, aby pobrać wartości z tablicy $user. Wyniki są następnie wyświetlane.

Ten przykład pokazuje podstawowe wykorzystanie metaprogramowania do dynamicznego dostępu do danych. W bardziej zaawansowanych scenariuszach można wykorzystać refleksję do analizy struktury klas i dynamicznego wywoływania metod.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *