I am surprised for why the constructor is called when we have different class and constructor name. Constructor name is starting with small \"r\"?
class Regi
PHP is case insensitive, but this doesn't explain the behaviour.
This behaviour is because a function with the same name of the class is treated as the constructor.
See http://php.net/manual/en/language.oop5.decon.php - Example 2
So this is true for functions of any given name, EG:
class Dog{
function dog(){
echo "Constructor is called.";
}
}
$obj = new Dog();
$obj->dog();