В РНР5 введены модификаторы доступа, которые управляют видимостью атрибутов и методов. Модификатор доступа указывается перед объявлением атрибута или метода. РНР5 поддерживает следующие три различных модификаторов доступа:
Рассмотрим пример:
class classname
{
public $attribute;
public function __get($name)
{
return $this -> $name;
}
public function __set ($name, $value)
{
$this _> $name = $value;
}
}
Сейчас каждый ключевой элемент класса предварен соответствующим модификатором доступа. Ключевые слова public можно не указывать, поскольку этот модификатор присутствует по умолчанию, однако, если в коде присутствуют и другие модификаторы доступа, то указание public может упростить чтение всего кода.
Обратите внимание на отсутствие ключевого слова var, которое просто заменено модификатором public. В данном примере все элементы были сделаны общедоступными.
Операции класса можно вызвать в основном темже способом, каким вызываются атрибуты класса. Если в нашем распоряжении имеется следующий класс:
class classname
{
function operation1()
{
}function operation2($param1, $param2)
{
}
}
и мы создаем объект типа classname с именем $a следующим образом:
$a = new classname ();
то мы можем вызвать операции так же, как вызывали другие функции: используя их имя и указывая в круглых скобках любые требуемые ими параметры. Поскольку эти операции принадлежат объекту, а не являются обычными функциями, необходимо указать объект, к которому они относятся. Имя объекта используется так же, как атрибуты объекта, а именно:
$a -> operation1();
$a -> operation2(12, 'test');
Если операции что-то возвращают, то возвращаемые данные можно получить следующим образом:
$x = $a -> operation1();
$y = $a -> operation2(12, 'test');