Hola Camila Nova: una función no puede tener dos return. La función se ejecuta hasta llegar a un return, y en ese momento se devuelve el control al punto desde donde fue llamada.
El problema está aquí:
public function getProperties() {
return $this->prop1 . "<br />";
return $this->prop2 . "<br />";
}
Para devolver las dos propiedades tienes que hacerlo en un solo return:
public function getProperties() {
return $this->prop1 . "<br />". $this->prop2 . "<br />";
}
El código podría quedar así:
<meta charset = "utf-8" />
<?php class Perro { public $prop1 = "Soy un collie!!"; public $prop2 = "Cachupín"; public function setProperties($newval1, $newval2) { $this->prop1 = $newval1; if ($newval2) {$this->prop2 = $newval2;} } public function getProperties() { return $this->prop1 . "<br />". $this->prop2 . "<br />"; } } $obj = new Perro; $obj2 = new Perro; echo $obj->getProperties(); echo $obj2->getProperties(); $obj->setProperties("Ahora soy un Terrier", ""); $obj2->setProperties("Soy parte de la segunda instancia!", ""); echo '<br/>Propiedades del objeto 1: '.$obj->getProperties(); echo '<br/>Propiedades del objeto 2: '.$obj2->getProperties(); ?>
En realidad en general en programación orientada a objetos cada propiedad tiene un método distinto para recuperarse, es decir, tendrías un getProp1 y un getProp2.
Saludos.