Пример работы с классами в PHP5Стиль программирования с использованием классов дает свои преимущества.
Вы можете написать проект, состоящий из множества обычных функций, но на практике их лучше упаковать в класс. Как это сделать - показывает нижеприведенный пример. | | Автор статьи: romix | Редакторы: Последняя редакция №4 от 23.08.07 | История URL: http://kb.mista.ru/article.php?id=584 | |
Поместите этот текст в файл с расширением PHP.
Если пример не работает, убедитесь что у вас установлен PHP5, а не, например, PHP4.
<?
///////////////////////////////////////////////////////////////////
class T_Test { //объявление класса
var $a; //Переменная (свойство) класса
//Функция (метод) класса
function testfunc1($p){
echo "Вызов метода testfunc1 с параметром ".$p."<br>\n";
$this->a = $p; //обращение к переменной внутри класса - добавляете $this->
}
//Функция (метод) класса
function testfunc2($p){
$this->testfunc1($p); //вызов функции testfunc1() внутри класса - добавляете $this->
}
//Функция-конструктор, автоматически вызывается при начале работы объекта
function __construct($p){
echo "Запущен конструктор с параметром ".$p."<br>\n";
}
//Функция-деструктор, автоматически вызывается при окончании работы объекта
function __destruct(){
echo "Запущен деструктор <br>\n";
}
}//class
///////////////////////////////////////////////////////////////////
//Использование класса
//Создаем объект
$t = new T_Test("zzz"); //$t - наш объект (T_Test - имя класса, "zzz" - параметр, который будет передан в функцию-конструктор)
//Вызываем функцию (метод) объекта - добавить "$t->" перед именем функции
$t->testfunc2("yyy");
//Обращаемся к переменной (свойству) объекта - добавить "$t->" перед именем переменной
echo "Переменная a=". $t->a . "<br>\n";
unset($t); //завершаем работу объекта
?>
Пример печатает следующий текст
Запущен конструктор с параметром zzz
Вызов метода testfunc1 с параметром yyy
Переменная a=yyy
Запущен деструктор
|