Документация

  Свежий выпуск
  OC Windows
  OC Linux
  Bios
  Сети
  Безопасность
  Web-мастеру
  Программисту
  Железо
Разное
  Наш Форум
  Софт
  Новости IT
  Купить диск
  Мобильники
  Каталог сайтов
  Обмен ссылками
  Создание баннеров
 
Рассылка
 

Объектно-ориентированное программирование на 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

Поставить закладку   сделать стартовой   Написать нам
Последние выпуски
выпуск №74
выпуск №75
выпуск №76
выпуск №77
выпуск №78
архив
Для мобильника

Друзья проекта
Реклама


Статистика:
Rambler's Top100
Copyright WinSov © 2003-2004. При использовании материалов ссылка на www.winsov.ru обязательна. Hosted by: Vip-Host.Net
Administrator & Designer Dovnar Evgeny ICQ: 433631