Php Constructor Return Different Objects