Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Объектно-ориентированное программирование в PHP

news date Фев.02.2009    categories Web-программирование > PHP    comments (0)

Любой перспективный и развивающийся язык программирования, в ходе своей эволюции обрастает все новыми и новыми подходами к программированию. В какой-то момент, таким подходом стал ООП (объектно-ориентированный подход). Изначально, его разработали в лабораториях Xerox, но потом он перекочевал практически все более-менее мощные языки программирования. Php не стал исключением.
Суть этого самого «объектно-ориентированного подхода» заключается в первую очередь в том, что сам процесс программирования заключается в создании и описании классов. Эти самые классы похожи на обычные переменные языка. Правда при работе с ними есть свои характерные особенности, но об этом чуть ниже…

Перед тем как лезть в дебри ООП, будет логично рассмотреть основные технические определения, используемые в этом подходе:
Инкапсуляция – возможность использования класса программистом (не являющимся автором), не вникая в техническую составляющую скрипта (т.е. – это сторонние модули, которые легко подключаются к скрипту (примером могут служить те же шаблонизаторы, модули статистики и так далее)).

Конструкторы, деструкторы – специальные методы, предназначенные для получения и изменения объектов класса (имеют значительное сходство с обычными переменными).
Наследование – возможность создание классов на основе других объектов.

Итак, с теорией разобрались немножко, пора переходить непосредственно к практике! Будем рассматривать на основе каталога товаров…

Этап 1. Создание класса и объекта.

Первое, что предстоит сделать при начале работы с ООП – создать класс. Этим сейчас и займемся. Для создания класса в PHP используется специальная синтаксическая структура – class. Итак, вот пример нашего класса:

<?php
class Shop {
public $name; //наименование товара
public $cat; //категория
public $coast; //цена товара
public $availability; //наличие
}
?>

Этим кодом мы создали класс Shop и 4 объекта $name, $cat, $coast, $availability соответственно. Думаю на данном этапе трудностей не возникнет, едем дальше… Для удобства использования классы принято сохранять в отдельный файл. Что и мы сделаем, сохраните этот код в файле Shop.php. Все, на этом первый этап закончен…

Этап 2. Вызов класса.

Ну вот, мы создали класс, записали его в файл. Вполне логично, что возникнет необходимость его дальнейшего использования.
Сначала необходимо подключить файл, содержащий класс. Это делается стандартной функцией require. После того, как подключили файл с классом, необходимо «загнать» его в переменную. В нашем случае это будет иметь вид: $obj = new Shop();
В конечном итоге наш скрипт будет иметь следующий вид:

<?php
Require ‘Shop.php’;
$obj = new Shop();

$obj->$name = “Товар_1”;
$obj->$ cat = “Категория_1”;
$obj->$ coast = “12”;
$obj->$ availability = “true”;
?>

В принципе, для вызова класса было достаточно 2-х первых строчек кода, последними четырьмя мы задали значения всем объектам класса. Удаление объекта класса производится при помощи стандартной функции php – unset().
Сохраним все это счастье в файле main.php
Вот и все поданному разделу…

Этап 3.1 Методы класса(создание)

Пришло время создать несколько методов в нашем классе Shop. Для этого запустим и отредактируем до следующего вида файл Shop.php:

<?php
class Shop {
public $name; //наименование товара
public $cat; //категория
public $coast; //цена товара
public $availability; //наличие
//Конструктор
function __construct($name, $cat, $coast, $availability)
{
Echo ‘Конструктор…’;
$this->$name = $name;
$this ->$ cat = $cat;
$this ->$ coast = $coast;
$this ->$ availability = $availability;
}
//Деструктор
function __destruct()
{
Echo ‘Деструктор…’;
}
function setCoast($new_c)
{
$this ->$coast = $new_c;
}
}
?>

Ну теперь попробуем разобраться, что мы тут понаписывали…

Итак, мы создали 3 класса:

__construct();
__destruct();
setCoast();

Первые 2 являются служебными, метод __construct() создает экземпляр класса. Конструктору могут передаваться определенные параметры… Осуществляется это так-же как и в обычной функции.
Деструктор уничтожает экземпляр класса.

Функция setCoast() меняет значение объекта Coast класса. Думаю сам код не вызовет никаких осложнений, можно двигаться дальше…

Этап 3.2 Методы класса(использование)

Итак, класс с объектами и методами мы создали, теперь остается научится его использовать… Чем собственно сейчас и займемся. Приведем наш файл main.php к следующему виду…

<?php
Require ‘Shop.php’;
$obj = new Shop(‘Товар_1’, ‘Категория_1’,’12.5’,’true’);
echo $obj->name . ‘ – ’ . obj->coast . ‘<br>’;
setCoast(14.2);
echo $obj->name . ‘ – ’ . obj->coast . ‘<br>’;
?>

После выполнения скрипт будет иметь следующий вид:
Конструктор…
Товар_1 – 12.5
Товар_1 – 14.2
Деструктор…

Ну вот, на примере рассмотрели принцип работы конструктора и деструктора. Также изучили возможность изменения показателя объекта класса на примере функции setCoast();. На этом статью заканчиваю, естественно, в нее влезла лишь мизерная часть возможностей PHP и ве крайне поверхностно. Возможно, будут и другие статьи на эту тему, но это уже зависит от администратора ресурса…

Вот пока и все, что я хотел описать в рамках данной статьи…
До свиданья!


Обсуждения

Нет комментариев к “Объектно-ориентированное программирование в PHP”

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал