Union Types w PHP 8 to mechanizm pozwalający deklarować, że parametr, zmienna lub zwracana wartość mogą posiadać więcej niż jeden typ, np. string|int. Dzięki temu kod staje się bardziej elastyczny i precyzyjny – funkcje mogą oficjalnie akceptować lub zwracać różne typy, na przykład zarówno tablicę, jak i kolekcję obiektów. Rozwiązanie to eliminuje konieczność stosowania ogólnych typów, takich jak „mixed”, pozwalając jednocześnie na lepszą kontrolę i bezpieczeństwo typowania podczas analizy kodu. Union Types ułatwiają także refaktoryzację i testowanie, sprawdzając w trakcie działania, czy wartość faktycznie spełnia zadeklarowane typy, co pomaga unikać trudnych do wykrycia błędów