Объектно-ориентированное программирование на PHP
Объектно-ориентированная парадигма вещь хорошая. Так получилось,
что со скриптовыми языками она не у всех ассоциируется. Это первая статья
по ООП+PHP. Так сказать, вводная. Первая часть.
В чем главная идея?
Вообще объектно-ориентированное программирование само по себе не всегда
является простым, однако главная идея, лежащая в основе, достаточно
проста:
Основная цель объектно-ориентированного программирования — связать
вместе данные (в виде переменных) с кодом, который работает с этими
данными.
Вместо того, чтобы иметь одно большое месиво переменных и одно большое
месиво кода, ООП позволяет разбить вашу проблему на более мелкие (и в
идеале более организованные) связки переменных и кода. Эти связки могут
работать вместе для достижения нужного результата. Если вы классно
сделаете свою работу, то у вас появится возможность использовать эти
связки в других проектах, что позволит сэкономить время и силы.
Кое-что мы уже осознали: ООП само по себе не позволит вам сделать
чего-то того, чего вы не могли сделать с месивом кода и переменных, оно
просто является более организованным методом программирования. И если вы
чем-то похожи на меня, то ваши PHP-скрипты должны использовать всю помощь,
которую может предоставить отдел организации:
Например, вас достало кодировать соединение с базой данных каждый раз,
когда вы разрабатываете новый динамический сайт на базе PHP и MySQL. Вы
можете объединить все переменные (username, password, hostname, database
name, etc.) и весь код (соединение с базой данных, выбор базы данных,
проверка ошибок) в единственный пакет, который называется объектом. Затем
вы можете использовать этот объект для обеспечения взаимодействия с базой
данных в любом проекте.
Не будьте квадратными
Вообще-то квадрат сам по себе вещь тривиальная, но его можно
использовать для достаточно простого стартового примера.
Допустим, какой-нибудь школьник, у которого плохо с геометрией,
заплатил вам, чтобы вы написали PHP-скрипт для вычислений базовых
параметров прямоугольника. Рынок обвалился, вы не имеете возможности
выбирать, так что взялись за эту работу.
Начали вы с простейшей HTML-формы, чтобы школьник мог вводить ширину и
высоту прямоугольника.
<form
action="domyhomework.php" method="get"> Width: <input type="text"
name="w" /><br /> Height: <input type="text" name="h"
/><br /> <input type="submit" /> </form>
Скрипт domyhomework.php должен просто брать высоту и ширину и вычислять
параметры прямоугольника:
<?php $area
= $w * $h; $perimeter = ($w + $h) *
2; ?> <html> <body> <p>Width:
<?=$w?><br /> Height:
<?=$h?></p> <p>Area: <?=$area?><br
/> Perimeter:
<?=$perimeter?></p> </body> </head>
Просто и красиво. Но если вы вдруг приобретете репутацию крутого спеца
по написанию скриптов для прямоугольника (ну мало ли что…), то вам должно
быть скоро надоесть писать код для вычисления периметра и площади снова и
снова.
Если вы знакомы с функциями, то вы возможно решите написать две функции
для этих вычислений и поместить их в отдельный файл. Допустим, вы назвали
файл rect.php, и содержит он вот что:
<?php function
rect_area($width,$height) { return $width *
$height; } function rect_perim($width,$height) { return
($width + $height) * 2; } ?>
Сейчас вы можете использовать эти функции в любом файле, где это
необходимо. Тогда domyhomework.php изменится и станет выглядеть следующим
образом:
<?php require('rect.php');
// присоединяются функции для расчета параметров прямоугольника $area =
rect_area($w,$h); $perimeter =
rect_perim($w,$h); ?> <html> <body> <p>Width:
<?=$w?><br /> Height:
<?=$h?></p> <p>Area: <?=$area?><br
/> Perimeter:
<?=$perimeter?></p> </body> </head>
Сейчас все выглядит неплохо, но с помощью объектно-ориентированного
подхода мы можем сделать еще лучше.
Источник: http://www.i2br.ru |