ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpBsPM 11 of 107 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

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

Приватными могут быть не только свойства, но и методы. Обычно приватными делают вспомогательные методы, чтобы они случайно не могли быть вызваны извне класса.

Давайте посмотрим на примере. Пусть у нас есть следующий класс:

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

Сделаем в этом классе приватный метод, который параметром будет принимать строку и делать заглавным ее первый символ:

<?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 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 $user = new User('john'); ?>

Вызовем публичный метод, использующий вспомогательный:

<?php echo $user->show(); ?>

В следующем коде сделайте вспомогательный метод приватным:

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