Parabéns cara, explicou excepcionalmente bem. Nem tinha avaliado o comportamento da variável $friend dentro da linha de execução do cód, achei simplesmente fenomenal. A idéia foi só mostrar um pouco do que se consegue fazer dentro do php, claro que o exemplo acima não seria aplicável em um cenário real, pois acaba por complicar demais as coisas. Mas nos mostra alguns dos inúmeros recursor que podem ser explorados em lógicas reais de negócios dentro de nossas aplicações.
Respondendo a "É basicamente uma função que retorna um objeto...." dentro da publicação É amigos, o php me fascina, mas também me assusta.
1