Tak jak koledzy pisali wcześniej - taki zabieg nazywa się potocznie "konkretyzacją argumentów/parametrów" metody/funkcji.
Polega to na tym, że już przy deklaracji podaje się "typ" obiektu jaki ma być podawany w parametrze. W twoim przypadku takim typem jest odpowiednio Request i Response.
Jeśli mamy taki kod to musimy przekazać w argumentach obiekt powstały na 3 sposoby:
1. Obiekt klasy podanej w argumencie - czyli jakiś obiekt klasy "Request" - jest to rzadko używane.
2. Obiekt klasy, która dziedziczy po klasie "Request" - może to być klasa którą sam napiszesz ale dziedziczy po tej klasie "Request"
3. Obiekt klasy, która implementuje interfejs "Request" - to najczęściej spotykane rozwiązanie.
Ogólnie taki kod stosuje się wówczas, gdy dana metoda/funkcja musi dostać w parametrze obiekt, który musi posiadać jakieś konkretne funkcjonalności. przykładowo w Twoim przykładzie wymaga obiektu klasy Request lub obiektu klasy która implementuje interfejs Request. Taki interfejs może mieć ustawione kilka metod, które muszą być w klasie zaimplementowane - bo będą one wykorzystywane w tej metodzie.
Jeżeli mało zrozumiałeś z tego co napisałem przejdź do kursu programowania obiektowego w PHP i dowiedz się czym jest dziedziczenie, interfejsy, klasy abstrakcyjne, konkretyzacja parametrów.