Приватни методи во ООП во PHP

Не само својствата, туку и методите можат да бидат приватни. Обично приватни се прават помошни методи, за да не би можеле случајно да се повикаат надвор од класата.

Да погледнеме на пример. Нека имаме следнава класа:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
  }
?>

Да направиме во оваа класа приватн метод, кој како параметар ќе прима стринг и ќе го прави првиот симбол голема буква:

php<?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);
    }
  }
?>

Да го искористиме нашиот помошен метод внатре во друг метод:

php<?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);
    }
  }
?>

Да го провериме. Ќе креираме објект од нашата класа:

php<?php
  $user = new User('john');
?>

Ќе го повикаме јавниот метод, кој користи помошен метод:

php<?php
  echo $user->show();
?>
Задание 1

Во следниот код направете го помошниот метод приватн:

php<?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 . '
;
    }
  }
?>