Область видимості властивостей

 

Властивості класу повинні бути визначені через модифікатори 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.