__construct () vs SameAsClassName () para construtor em PHP

Existe alguma vantagem em usar__construct() em vez do nome da classe para um construtor em PHP?

Exemplo (__construct):

class Foo {
    function __construct(){
        //do stuff
    }
}

Exemplo (nomeado):

class Foo {
    function Foo(){
        //do stuff
    }
}

Tendo o__construct O método (primeiro exemplo) é possível desde o PHP 5.

Ter um método com o mesmo nome que a classe como construtor (segundo exemplo) é possível do PHP versão 4 até a versão 7.

questionAnswers(11)

yourAnswerToTheQuestion