ООП. Смысл $this
Четверг, 12 августа 2010 г.Рубрика: PHP программирование -> ООП
Метки: $this
Просмотров: 792
Подписаться на комментарии по RSS
$this - служит для обращения к переменными класса внутри самого
класса, и посути $this является экземпляром класса, в котором она
используется. Рассмотрим на примере возьмём код класса из предыдущего
урока, и немного изменим его:
Файл stroki.class.php
<?php
class Stroki {
var $cena = 20;
var $status = "good";
function hello () {
return "hello";
}
function privet () {
return "Привет";
}
function set_cena ($cn) {
$this->cena = $cn;
}
}
Как видим из этого примера - мы создали функцию set_cena, которой будет
передоваться переменная $cn ( не из класса ), и внутри функции написали
выполняемый код, сразу же поясним - так как $this является экземпляром
класса, то и обращение к ней будет как и к простому экземпляру, поэтому -
мы переменной cena присвоили новое значение в виде $cn переданной в
функцию. Теперь напишем код, где передадим функцие определённое
значение:
<?php require_once ( "stroki.class.php" ); $c = new Stroki (); $c->set_cena (40); echo "Цена = ".$c->cena;
В этом примере мы через экземпляр $c класса Stroki функцие передали
значение в виде 40, и после вывода переменной cena мы вывели не 20 - как
было назначено стандартно, а вывели 40, как и расчитывали.
Из всех этих примеров можно сказать: Для обращения к переменным в самом
классе используется стандартный экземпляр класса $this - этот экземпляр
для каждого класса универсальный, и его можно использовать для всех
классов, он несёт именно те значения которые содержаться в классе, в
котором мы его используем.
Теперь приведём Вам полный код расммотренный в этом уроке:
Файл stroki.class.php
<?php
class Stroki {
var $cena = 20;
var $status = "good";
function hello () {
return "hello";
}
function privet () {
return "Привет";
}
function set_cena ($cn) {
$this->cena = $cn;
}
}
Файл stroki.php
<?php require_once ( "stroki.class.php" ); $c = new Stroki (); $c->set_cena (40); echo "Цена = ".$c->cena;


Если будет побольше примеров: будет интереснее! И появится настроение самой что-нибудь попробовать сделать!