Explicado de otra forma: si creas un método con el mismo nombre que la clase lo que haces es crear un "metodo constructor", por consiguiente cuando haces "new" (construyes el objeto) se ejecuta el mismo.
Como bien dice nx00, a partir de PHP5 tienes una palabra reservada para ese método que es __construct(), de la misma forma que tienes un destructor para la acción opuesta.
El ejemplo concreto podría ser:
Código PHP:
<?php
class Persona
{
private $nombre;
public function __construct($nombre)
{
echo 'nace la persona';
}
public function saludar()
{
return '¿hola, como te va?';
}
public function __toString()
{
return 'soy '.$this->nombre;
}
}
$docente = new Persona('Enrique');
echo $docente->saludar();
echo $docente;
?>