Область видимості властивостей
Властивості класу повинні бути визначені через модифікатори public, private, або protected.
Приклад. Оголошення властивості класу
<? Php
/*
Визначення MyClass
*/
class MyClass
{
public $public = 'Загальний';
protected $protected = 'Захищений';
private $private = 'Закритий';
function printHello ()
{
echo $this-> public;
echo $this-> protected;
echo $this-> private;
}
}
$obj = new MyClass ();
echo $obj-> public; / / Працює
echo $obj-> protected; / / Невиправна помилка
echo $obj-> private; / / Невиправна помилка
$obj-> printHello (); / / Виводить Загальний, Захищений і Закритий
/*
Визначення MyClass2
*/
class MyClass2 extends MyClass
{
// Ми можемо перевизначити public і protected методи, але не private
protected $protected = 'Захищений2';
function printHello ()
{
echo $this-> public;
echo $this-> protected;
echo $this-> private;
}
}
$obj2 = new MyClass2 ();
echo $obj2-> public; // Працює
echo $obj2-> private; // Невизначений
echo $obj2-> protected; // Невиправна помилка
$obj2-> printHello (); // Виводить Загальний, Захищений2 і Закритий
?>
Зауваження: Метод оголошення змінної через ключове слово var, прийнятий в PHP 4, досі підтримується з метою сумісності (як синонім ключового слова public). У версіях PHP 5 нижче 5.1.3 таке використання виводить попередження E_STRICT.