Область переменных в классе PHP

Как установить глобальную переменную в этом классе? Я пробовал это:

class myClass { $test = "The Test Worked!"; function example() { echo $test; } function example2() { echo $test." again"; } } 

Который не смог загрузить страницу, полностью ссылаясь на ошибку 500. Затем я попробовал следующее:

 class myClass { public $test = "The Test Worked!"; function example() { echo $test; } function example2() { echo $test." again"; } } 

Но когда я напечатал оба эти, все, что я вижу, снова «Извините за такой простой вопрос!

Благодаря!

к этой переменной можно обращаться так:

 echo $this->test; 

Если вам нужна переменная экземпляра (сохраняется только для этого экземпляра класса), используйте:

 $this->test 

(как предложил другой ответ).

Если вы хотите переменную «class», прикрепите ее ключевым словом «static» следующим образом:

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

(Примечание для доступа к переменным класса, используйте Имя класса или «Я», за которым следует «::»)

 class myClass { public static $test = "The Test Worked!"; function example() { echo self::$test; } function example2() { echo self::$test." again"; } } 

Наконец, если вы хотите истинную константу (неизменяемую), используйте «const» впереди (снова получите доступ к ней «self» плюс «::» плюс имя константы (хотя на этот раз пропустите «$»):

 class myClass { const test = "The Test Worked!"; function example() { echo self::test; } function example2() { echo self::test." again"; } } 
 class Foo { public $bar = 'bar'; function baz() { $bar; // refers to local variable inside function, currently undefined $this->bar; // refers to property $bar of $this object, // ie the value 'bar' } } $foo = new Foo(); $foo->bar; // refers to property $bar of object $foo, ie the value 'bar' 

Пожалуйста, начните читать здесь: http://php.net/manual/en/language.oop5.basic.php

на самом деле существует два способа доступа к переменной или функции в классе либо из класса, либо извне, если они запрашивают элемент публично (или в некоторых случаях защищаются)

 class myClass { public $test = "The Test Worked!"; function example() { echo $this->test; // or with the scope resolution operator echo myClass::test; } function example2() { echo $this->test." again"; // or with the scope resolution operator echo myClass::test." again"; } } 

Попробуйте добавить $this к фронту ваших переменных; вы можете изменить второй пример на

 class myClass { public $test = "The Test Worked!"; function example() { echo $this->test; } function example2(){ echo $this->test." again"; } }