ресурс для начинающих веб-разработчиков
комплексные веб-услуги по созданию сайтов

Справочный материал по основным языкам программирования и верстки сайтов.

Готовая методика создания простых и сложных динамичных сайтов, с использованием PHP и MySQL.

Использование веб-редактора Adobe Dreamweaver в разработке сайтов.

Использование графических редакторов Adobe Flash, Adobe Photoshop, Adobe Fireworks в подготовке веб-графики.

Разработка веб-сайтов под "ключ".

Разработка отдельных фрагментов сайтов, консультации по вопросам верстки веб-страниц и веб-программирования.

Управление доступом с помощью модификаторов. Вызов операций класса

Вызов операций класса

В РНР5 введены модификаторы доступа, которые управляют видимостью атрибутов и методов. Модификатор доступа указывается перед объявлением атрибута или метода. РНР5 поддерживает следующие три различных модификаторов доступа:

  • Модификатор доступа public (общедоступный), устанавливаемый по умолчанию, означает открытый доступ к атрибуту или методу, что сродни полному отсутствию модификатора доступа. Элементы подобного рода доступны как изнутри, так и извне класса.
  • Модификатор доступа private (приватный) означает, что помеченный им элемент может быть доступен только изнутри класса. Его можно применять для всех атрибутов, если не использовать функции доступа __get() и __set (). В отношении методов данный модификатор указывается, если тот или иной метод является служебным и предназначенным только для внутренних целей класса. Приватные элементы не наследуются.
  • Модификатор доступа protected (защищенный) означает, что помеченный им элемент может быть доступен только изнутри класса. Он также существует во всех субклассах. Сейчас protected можно воспринимать как нечто среднее между public и private.

Рассмотрим пример:

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');