2015-04-18 4 views
0

Я изучаю некоторые PHP код, написанный кем-то другим, и они в основном назвали переменную $text:

protected $text = null; 

А потом в том же файле, они имеют в виду к нему без $ знака:

$this->text[$name] = new Text($age, $house); 
  1. Я немного заинтригован. Возможно ли это? Может ли переменная с именем с $, объединенная каким-либо словом, может быть отнесена только к части идентификатора, отличной от $?
  2. Если да, подразумевает ли это что-то особенное или это простая ссылка на переменную?

PS: Я не думаю, что код неисправности, поскольку он работает = S

+1

'$ text' не является переменной, это свойство класса. Доступ к свойствам осуществляется с помощью '$ var-> propertyname'. – Barmar

+1

http://php.net/manual/en/language.oop5.basic.php – AbraCadaver

+0

@Barmar Спасибо, но означает ли это, что нам всегда нужно обращаться к ним без '$', или это может быть '$ var -> propertyname' или '$ var -> $ propertyname'? – Solace

ответ

1

Этот код неисправности не является это потому, что он прописан в объектно-ориентированном PHP. Когда вы объявляете атрибут в php-объекте, в этом случае $text, вы можете позже в том же классе ссылаться на этот атрибут как $this->text.

1

Вот как вы получаете доступ к переменной (часто называемой свойством ) в объектно-ориентированном коде.

class MyClass { 
    public $name = 'Billy Bob'; 
    public function printName() { 
     echo $this->name; 
    } 
} 

В этом примере $this->name относится к переменной $name, принадлежащих к «этот» экземпляр класса (экземпляр класса называется объектом ).

class MyClass { /* ... */ } // This is a class definition 
$obj = new MyClass();  // This is an instance of the class, an object 

 Смежные вопросы

  • Нет связанных вопросов^_^