Ähnlich wie nicht-vorhandene Variablen kann ein Objekt auch Aufrufe auf nicht-vorhandenen Funktionen abfangen. Die Funktion __call() wird aufgerufen, wenn ein nicht auswertbarer Zugriff geschieht. Dabei wird als erster Parameter der Name der nicht-vorhandenen Funktion übergeben und als zweiter Parameter ein Array mit der Liste an Parametern, mit denen diese Funktion aufgerufen worden ist. Ähnlich operiert die Funktion __callStatic(), die jedoch bei einem Aufruf von statische nicht-existenten Funktionen zur Ausführung kommt.
