Getters de propiedades en POO en PHP
Supongamos que tenemos la siguiente clase con propiedades privadas:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Como puedes ver, estas propiedades se establecen una vez al crear el objeto. Sin embargo, actualmente estas propiedades no se pueden leer, ya que son privadas y no existen los métodos correspondientes para ello.
Vamos a crear para nuestras propiedades métodos especiales
que permitan leer estas propiedades.
Estos métodos (llamados getters) generalmente
comienzan con la palabra get
, seguida del
nombre de la propiedad a leer.
Vamos a crear los getters de nuestras propiedades:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Comprobemos su funcionamiento. Creemos un objeto, pasando como parámetro los datos del usuario:
<?php
$user = new User('john', 'smit');
?>
Leamos estos datos, utilizando los getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
En la clase Employee
crea
tres propiedades privadas: nombre, salario
y edad.
Pasa por parámetro al constructor los valores de estas propiedades.
Crea getters que muestren los valores de cada una de nuestras propiedades.