الكلمة private تجعل الدالة أو الخاصية متاحة من داخل الكلاس نفسه فقط. لا يمكن الوصول إليها من خارجه، ولا من الكلاسات التي ترثه.
class Account {
private $balance = 0;
private function log($msg) { /* ... */ }
public function deposit($amount) {
$this->balance += $amount;
$this->log("Deposit: $amount");
}
}
$acc = new Account();
$acc->deposit(100); // works
$acc->balance = 999; // Error: cannot access private property
لماذا نستخدمها؟
لحماية التفاصيل الداخلية. الرصيد لا يتغير إلا عبر deposit()، التي يمكنها التحقق من القيمة. هذا يسمى التغليف (Encapsulation).