วิธีการส่วนตัวใน OOP ใน 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 . '
;
}
}
?>