На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Сайтостроительство » Web-программирование

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

Сейчас все выглядит неплохо, но с помощью объектно-ориентированного подхода мы можем сделать еще лучше.

Продолжение следует...>>

Автор: Kevin Yank
Перевод: Михаил Дубаков
Web-анатомия

Спонсор раздела

Рассылки Subscribe.ru:

Библиотека сайтостроительства - новости, статьи, обзоры
Дискуссионный лист для web-разработчиков
Подписка на MailList.Ru
Автор: NunDesign
Другие разделы
Оптимизация сайтов
Web-студии
» Новое в разделе
Web-дизайн
Web-программирование
Интернет-реклама
Раскрутка сайта
Web-графика
Flash
Adobe Photoshop
Рассылка
Инструменты вебмастера
Контент для сайта
HTML/DHTML
Управление web-проектами
CSS
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100