Дается описание объектно-ориентированного программирования в PHP.
Общие сведения о классах и объектах
Классы
Класс понимается в PHP в традиционном для объектно-ориентированных языков смысле.
Упрощенный синтаксис определения класса:
class Имя_класса { // свойства модификатор_доступа $имя_свойства1; модификатор_доступа $имя_свойства2; ... модификатор_доступа $имя_свойстваN;
// методы [модификатор_доступа] function имя_метода1( ) { тело_метода; } [модификатор_доступа] function имя_метода2( ) { тело_метода; } ... [модификатор_доступа] function имя_методаK( ) { тело_метода; } }
Имя класса не чувствительно к регистру. Класс может быть определен в любой части кода PHP. Внимание! В классе имя метода уникально (если не использовать специальных трюков, но не совсем понятно, зачем это нужно), т.е. нельзя определить два метода с одинаковым именем и различным числом параметров.
Обращение к классу может предшествовать его определению. Объект представляет собой экземпляр класса и создается при помощи ключевого слова new (в простейшем случае после new указывается имя класса и круглые скобки).
Для вызова метода объекта или для обращения к свойству используется сочитание символов ->.
Для доступа к свойствам и методам в теле метода используется префикс $this->. Внимание! Если свойство используется без $this->, то интерпретатор может воспринять его как локальную переменную, а метод, как функцию.
Примеры создания класса
Пример:
<?php // определяем класс class Fio_Class { // определяем свойства public $first_name; public $second_name; public $family;
// определяем методы function set_name ($par1, $par2, $par3 ) { $this->first_name = $par1; $this->second_name = $par2; $this->family = $par3;
// а вот так неправильно! // first_name = $par1; } }
// создаем объект $obj1 = new Fio_Class();
// вызываем метод для объекта $obj1->set_name( "Иван", "Иваныч", "Иванов" ); ?>