⊗ppOpBsPM 11 of 107 menu

Métodos privados en POO en PHP

No solo las propiedades pueden ser privadas, sino también los métodos. Normalmente los métodos auxiliares se hacen privados para evitar que puedan ser llamados accidentalmente desde fuera de la clase.

Veamos un ejemplo. Supongamos que tenemos la siguiente clase:

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

Hagamos en esta clase un método privado, que tomará una cadena como parámetro y pondrá en mayúscula su primer carácter:

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

Utilicemos nuestro método auxiliar dentro de otro método:

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

Comprobemos. Creemos un objeto de nuestra clase:

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

Llamemos al método público, que utiliza el método auxiliar:

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

En el siguiente código, haga el método auxiliar privado:

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