Ben manuel tanımını biliyorum, ama gerçek hayatta kullanımı açısından, ne fark eder? Ne zaman diğer üzerinden kullanmak istiyorsunuz?
Eğer bir değişken yalnızca o sınıfta ve başka herhangi bir ya da uzanan sınıfta kullanılan olacağını biliyorum ne zaman o özel isim olur. Eğer sınıfını genişletmek ve yanlışlıkla özel bir adı olarak değişken adını Yani bu hata verecek ve böylece hataları yapmanızı engelleyebilir.
Örneğin web uygulaması birçok sayfalarını kullanmak ve (her zaman aynı şey neden) tüm sayfaları başlık ve sayfa altbilgi kolları tek sınıfını genişletmek sınıfları iseniz örneğin sayfanın varsayılan başlığı geçersiz hangi korumalı değişken ayarı ile üst sınıfta kurulur.
Bu yardımcı olur umarım.
EDIT: use protected methods when you want a child class (one that extends your current (or parent) class) to be able to access methods or variables within the parent.
İşte PHP Visibility Manual olduğunu
private değişken / metod içerdiği inç biri dışında başka sınıflar tarafından görülebilir
protected aynı paket / ad herhangi bir sınıf tarafından görülebilir.
Kılavuzun Code.
<?php
/**
* Define MyClass
*/
class MyClass
{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj = new MyClass();
echo $obj->public; // Works
echo $obj->protected; // Fatal Error
echo $obj->private; // Fatal Error
$obj->printHello(); // Shows Public, Protected and Private
/**
* Define MyClass2
*/
class MyClass2 extends MyClass
{
// We can redeclare the public and protected method, but not private
protected $protected = 'Protected2';
function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj2 = new MyClass2();
echo $obj2->public; // Works
echo $obj2->private; // Undefined
echo $obj2->protected; // Fatal Error
$obj2->printHello(); // Shows Public, Protected2, Undefined
?>