Что значит двойное обращение к функции

ew4oo

Новичок
Не знал как сформулировать правильно название темы, поэтому попробовал как мне показалось более верно.
Модераторы,если я выбрал не тот раздел перенесите пожалуйста.

PHP:
$code = $this->db->escapeString(trim(URL::$GET['code']));
Суть моего вопроса заключается в том, почему в данном коде два раза используется -> ?
И что этот код обозначает? Именно этот фрагмент : $this->db->escapeString остальное понятно.
 

Semen

Семён
PHP:
class DB{
  function escapeString($val){  
  }
}

$this->db = new DB();

$code = $this->db->escapeString(trim(URL::$GET['code']));
 

ew4oo

Новичок
А в чём фишка использования $this вне класса, и в чём преимущество перед например $code = $db->escapeString(trim(URL::$GET['code'])); , то есть без $this ?
 

Semen

Семён
PHP:
 class DB{

	function escapeString($val){  
	}

}

class A{
	var $db;
	
	function __construct(){
		$this->db = new DB();
	}
	
	function code(){
		$code = $this->db->escapeString(trim(URL::$GET['code'])); 
	}
}
 

Bardak

Новичок
А в чём фишка использования $this вне класса, и в чём преимущество перед например $code = $db->escapeString(trim(URL::$GET['code'])); , то есть без $this ?
как показано в предыдущем посте.
через $this-> db вы обращаетесь к атрибуту (параметру, свойству) объекта класса
Вне класса обращение через $this скорее всего выведет ошибку.
 

iceman

говнокодер
ew4oo
в параметре твоего объекта хранится другой объект, к нему ты и обращаешься второй раз.
 
Сверху