parent::
аналогично ключевому слову self::
или YourClassNameHere::
в том смысле, что оно используется для вызова статической функции, за исключением того, что parent
вызовет функцию, определенную в классе, который расширяет текущий класс.
Кроме того, оператор throw
является точкой выхода из функции, поэтому, если выполнение выполняется, функция никогда не попадет в оператор return
. Если выброшено исключение, то вызывающая функция должна либо перехватить и обработать исключение, используя try
и catch
, либо позволить исключению распространяться далее вверх по стеку вызовов.