Объектно-ориентированное программирование -> Оператор

Возможный дубликат:
Ссылка. Что означает этот символ в PHP?

Поэтому я читал книгу « Решения для PHP», «Динамический веб-дизайн», созданный Дэвидом Пауэрсом. Я прочитал короткий раздел об объектно-ориентированном PHP, и мне трудно понять идею оператора ->. Может ли кто-нибудь попытаться дать мне обоснованное объяснение оператора -> в OOP PHP?

Пример:

$westcost = new DateTimeZone('America/Los_Angeles'); $now->setTimezone($westcoast); 

Кроме того, более общий пример:

 $someObject->propertyName 

Related of "Объектно-ориентированное программирование -> Оператор"

Оператор -> в PHP относится либо к функции, либо к переменной внутри класса.

 <?php class Example { public $variableInClass = "stringContent"; public function functionInClass() { return "functionReturn"; } } $example = new Example(); var_dump($example->variableInClass); //stringContent var_dump($example->functionInClass()); //functionReturn ?> 

Обратите внимание, что если мы говорим о статических классах (разные цели), вы используете :: вместо:

 <?php class Example { public static $variableInClass = "stringContent"; public static function functionInClass() { return "functionReturn"; } } var_dump($example::$variableInClass); //stringContent var_dump($example::functionInClass()); //functionReturn ?> 

$someObject->propertyName можно прочитать как:

возвращаемое значение, хранящееся в propertyName из объекта $ someObject

$someObject->methodName() можно читать как:

выполнить методName из объекта $ someObject

Классы и объекты 101:

Класс определяется как таковой:

 class MyClass { public $value1; public function getValue() { return $this->value; } } 

Теперь мы определили класс с единственным свойством и единую функцию. Чтобы использовать их, нам нужно создать «экземпляр» этого объекта:

 $myObject = new MyClass(); 

Чтобы использовать свойство или функцию, мы используем оператор -> :

 echo $myObject->value1; echo $myObject->getValue(); 

Поместите немного более абстрактно .. функция getValue определена в этом объекте. Используя оператор- -> в экземпляре нашего класса, то, что делает PHP, просто вызывает функцию, как и любую другую функцию. Но до того, как она получит вызов $this она назначается текущему объекту.

Надеюсь, это поможет, если нет .. Я бы просто рекомендовал прочитать об основах ООП.