__construct () против SameAsClassName () для конструктора в PHP

Есть ли преимущество в использовании__construct() вместо имени класса для конструктора в PHP?

Пример (__construct):

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

Пример (названный):

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

Имея__construct Метод (первый пример) возможен начиная с PHP 5.

Наличие метода с тем же именем, что и у класса в качестве конструктора (второй пример), возможно с версии PHP 4 до версии 7.