Getters de propriedades em POO em PHP
Suponha que temos a seguinte classe com propriedades privadas:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Como você pode ver, essas propriedades são definidas uma vez na criação do objeto. No entanto, atualmente, é impossível ler essas propriedades, pois elas são privadas e não existem métodos correspondentes para isso.
Vamos criar métodos especiais para nossas propriedades,
permitindo a leitura dessas propriedades.
Esses métodos (chamados de getters) geralmente
começam com a palavra get
, seguida pelo
nome da propriedade a ser lida.
Vamos criar os getters para nossas propriedades:
<?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;
}
}
?>
Vamos testar seu funcionamento. Criaremos um objeto, passando os dados do usuário como parâmetro:
<?php
$user = new User('john', 'smit');
?>
Vamos ler esses dados, utilizando os getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Na classe Employee
, crie
três propriedades privadas: nome, salário
e idade.
Passe os valores dessas propriedades como parâmetro do construtor.
Crie getters que exibam os valores de cada uma de nossas propriedades.