Metodat Private në OOP në PHP
Jo vetëm vetitë, por edhe metodat mund të jenë private. Zakonisht metodat ndihmëse bëhen private, në mënyrë që aksidentalisht të mos mund të thirren nga jashtë klasës.
Le të shohim një shembull. Le të themi se kemi klasën e mëposhtme:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Le të krijojmë në këtë klasë një metodë private, e cila do të marrë si parametër një varg dhe do ta bëjë të madh shkronjën e parë të saj:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Le të përdorim metodën tonë ndihmëse brenda një metode tjetër:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->cape($this->name);
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Le të testojmë. Le të krijojmë një objekt të klasës sonë:
<?php
$user = new User('john');
?>
Le të thërrasim metodën publike, që përdor metodën ndihmëse:
<?php
echo $user->show();
?>
Në kodin vijues, bëni metodën ndihmëse private:
<?php
class Employee {
public function __construct($name, $salary) {
$this->name = $name;
$this->salary = $salary;
}
public function getSalary() {
return $this->addSign($this->salary);
}
public function addSign($num) {
return $num . '
;
}
}
?>