На главную Статьи Функции

Объектно-ориентированное программирование в PHP (Введение).




Этой статьей я хочу начать серию статей об объектно-ориентированном программировании PHP и написании собственных классов для работы сайтов. Честно признаться, впервые познакомившись с классами и объектами я не смог понять в чем преимущества и удобства такого подхода. Однако сейчас, освоив некоторые приемы использования ООП, я строю свои сайты только на нем.
Сразу оговорюсь, профессиональные программисты могут меня обвинить в дилетантстве или в недостатке понимания основ ООП, но я и не претендую на гуру в области PHP, а всего лишь описываю решения проблем и освоенные мной методы.
Итак, самое главное что нужно понять:
1.Свойство – это переменная класса.
2. Методы – функции класса.
Подробнее про свойства и методы я расскажу дальше.
Основная единица ООП – класс. Что же такое класс? Класс это набор методов и свойств объекта…. А что такое объект? Трудно в двух словах объяснить, объект (или экземпляр класса) это как бы такая переменная. Может быть пока сложно, но дальше все будет проще и понятнее.
Итак, начнем создание нашего первого класса. Стоит оговориться, что когда вы начнете немного ориентироваться в ООП, вы выработаете свою методику именования классов, методов и файлов, содержащих классы, но пока об этом можно не беспокоиться.
Создадим файл myclass.php со следующим кодом

<?php
class Myclass {
}
?>
Вот и все, у нас есть пустой класс Myclass. Пока ничего сложного.
Теперь перейдем к свойствам класса.
Немного модернизируем наш код:
<?php
class Myclass {
public $myproperty;
}
?>
Можно заметить, что перед именем свойства стоит модификатор public, о модификаторах я расскажу в другой статье. Пока вам стоит только знать что модификатор задает уровень доступа к свойству класса. Итак, что же такое свойство класса? Свойством класса может быть простая переменная, массив или объект другого класса. Пора привести пример использования того что мы написали. Создадим файл myclass_example.php:
<?php
include_once ‘myclass.php’;
$myclass=new Myclass;
echo $myclass-> myproperty;
?>
Теперь по порядку. Первой строкой подключаем файл содержащий класс Myclass (я подразумеваю что все файлы лежат в одной директории для простоты, такой подход удобен для примеров, однако он неприменим в реальных сайтах). Дальше создаем объект $myclass и печатаем свойство myproperty. Естественно, что такой код ничего не напечатает и мы ничего не увидим набрав в браузере адрес страницы myclass_example.php.
Здесь и начинается самое интересное. Если вы уже писали какие либо функции, то вы обращались к ним просто напечатав название функции в скрипте. В ООП все несколько по другому, обращение к функции (методу) или свойству (переменной) класса происходит из объекта класса посредством записи ОБЪЕКТ->МЕТОД() или ОБЪЕКТ->СВОЙСТВО.
Теперь настало время добавить в наш класс метод:
<?php
class Myclass {
public $myproperty;
public function mymethod() {
echo ‘Мой первый метод :)’;
}
}
?>
Как видите ничего сложного, метод это обычная функция, наш первый метод всего лишь печатает надпись ‘Мой первый метод J’. Обращение к методам происходит также как и обращение к свойствам объекта. Изменим код файла myclass_example.php:
<?php
include_once ‘myclass.php’;
$myclass=new Myclass;
echo $myclass-> myproperty;
$myclass-> mymethod();
?>
Ну вот, как мне кажется для начала этого достаточно. Продолжим. Модернизируем наш первый метод так, чтобы он присваивал свойству $myproperty строку и выводил ее на печать. Обратиться внутри класса к его свойствам и методам можно с помощью переменной $this.
<?php
class Myclass {
public $myproperty;
public function mymethod() {
$this-> myproperty=’ Мой первый метод :)’
echo $this-> myproperty;
}
}
?>
Код файла myclass_example.php теперь можно упростить:
<?php
include_once ‘myclass.php’;
$myclass=new Myclass;
$myclass-> mymethod();
?>
На этом можно оставить вас размышлять о том зачем вообще это нужно… Чтобы вам стало немного легче: где-то я прочитал замечательную фразу, общий смысл был следующим – объект это, например, товар в интернет магазине, у него есть свойства: цена, описание и т.д. и к нему можно применить методы: добавить новый товар, удалить, редактировать и много чего еще… А теперь попробуйте представить свою квартиру как экземпляр класса квартир, придумать для своей квартиры методы и свойства.
продолжение следует…



© 2010-2019 При использовании материалов ссылка на сайт www.webchaynik.ru обязательна

обратная связь