ООП. Смысл $this

Четверг, 12 августа 2010 г.
Рубрика: PHP программирование -> ООП
Метки:
Просмотров: 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;
Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Комментариев: 1
  1. Если будет побольше примеров: будет интереснее! И появится настроение самой что-нибудь попробовать сделать!

Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)