Это продолжение статьи о
том,
как
создавать классы в php. В данной статье я расскажу
вам о том, как можно пользоваться уже готовыми
php-классами
и о том, какими возможностями обладает
объектно-ориентированное
программирование в php.
Для того, что бы понять,
как пользоваться классами в
php, напишем небольшой
класс:
<?php
Class Sample // Объявляем новый класс с именем Sample
{
var $a; // объявляем внутреннюю переменную класса
var $b; // еще одна переменная
/* эти функции будут работать только внутри класса Sample */
/* или внутри классов-наследников данного */
/* для обращения к переменным используется переменная $this, */
/* через которую идет процесс управления классом */
/* $this доступна только внутри класса и содержит информацию только онем */
/* использовать $this для хранения своих параметров нельзя */
/* сумма двух переменных */
function summa($a, $b) // Складывает значения $a и $b
{
return $a + $b;
}
/* увеличение значения переменных класса Sample на значение $inc */
function incAll($inc)
{
$this->a = $this->a + $inc;
$this->b = $this->b + $inc;
}
}
?>
В этом классе реализованы две функции и две
переменные. Использовать данный класс достаточно просто, достаточно для начала
создать новый класс
зарезервированной функцией new. А
затем, используя полученную ссылку на экземпляр (возвращает
функция new), устанавливать \ изменять переменные внутри класса, а
так же вызывать функции, описанные внутри класса.
/* Создаем экземпляр класса Sample */
$newClass = new Sample();
/* устанавливаем значение переменных $a и $b, находящихся */
/* внутри класса Sample */
$newClass->a = 1;
$newClass->b = 5;
/* увеличение значений переменных на 3 */
$newClass->incAll(3);
/* Вавод в браузер суммы переменных $a и $b */
echo 'Сложение переменных $a и $b внутри класса Sample: ';
echo $newClass->summa($newClass->a, $newClass->b);
Иногда в процессе написания
php-скриптов возникает потребность в некоторых функциях,
находящихся
внутри классов. Конечно, можно создать класс с этой функцией, а затем ее
использовать, но в
php есть
другой подход к этой проблеме. Функция
summa(),
находящаяся в классе
Sample полностью
автономна, т.е. она не зависит от переменных и функций, находящихся внутри
класса
Sample. Поэтому ее можно использовать, не
создавая класс
Sample. Выглядит реализация данного
метода обращения к функции из класса
Sample достаточно
просто:
/* в php можно использовать некоторые функции класса */
/* без его создания, основное условие - их независимость */
/* от внутренних переменных и функций */
echo '<br>Вызов функции summa(), без создания экземпляра класса Sample: ';
echo Sample::summa(5, 10);
В данной статье был
рассмотрен простейший пример создания и использования
php класса в своих интересах. Если вы хотите посмотреть и
ознакомиться с более
сложными php классами,
то советую прочитать другие мои статьи:
Собственная
статистика поисковых слов (Яндекс, Рамблер, Google,...) на PHP и
Класс
для создания меню навигации на сайте. Исходный текст
php класса реализованного в данной статье вы можете скачать
здесь (
http://wm-help.net/download/sampl.class.zip).
И напоследок:
не всегда использование классов оправдано, зачастую процедурный
подход более рационален и по времени выполнения скрипта и по загрузке
процессора.