Privatna svojstva u OOP u PHP-u
Svojstva objekta koja se mogu čitati i upisivati izvana nazivaju se javnim. Postoje i privatna svojstva, koja će biti dostupna samo unutar klase.
Imena privatnih svojstava treba
deklarisati sa modifikatorom pristupa private.
Hajde da to uradimo:
<?php
class User {
private $name;
}
?>
Sada ćemo upisati podatke u naše svojstvo. To možemo uraditi, na primer, u konstruktoru klase:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Sada napravimo metod koji će vraćati vrednost našeg svojstva:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Napravimo objekat klase, prosledivši ime korisnika kao parametar:
<?php
$user = new User('john');
?>
Pokušaj direktnog pristupa našem svojstvu izvan klase dovešće do greške:
<?php
echo $user->name; // greška
?>
A pozivanje našeg metoda će omogućiti čitanje ovog svojstva:
<?php
echo $user->show(); // ispisaće 'john'
?>
U klasi Employee napravite
tri privatna svojstva: ime, platu
i godine.
Prosledite preko konstruktora vrednosti ovih svojstava.
Napravite metod koji će ispisati podatke o zaposlenom.