Вам нужно инициализировать статическую переменную внутри самого объявления класса:
class Person {
public static $name = 'bob';
}
Или вам нужен механизм начальной загрузки, где вы инициализируете статическую переменную:
bootstrap.php:
Person::$name = 'bob';
, а затем на страницах:
// assuming, you preloaded the bootstrap somewhere first
$person = new Person();
echo $ person :: $ name;
редактировать
Тьфу, о чем я думал ... вышесказанное даже не сработает. Вы не можете получить доступ к статическому члену, как этот на экземпляре. Только через метод, например так:
class Person
{
public static $name;
public function getName()
{
return self::$name;
}
}
// assuming, you preloaded the bootstrap somewhere first
$person = new Person();
echo $person->getName();
/ конец редактирования
Или, как указал Пекка, используйте сеансы для поддержания состояния.
Но что более важно: какую цель вы пытаетесь достичь? Если вы хотите поддерживать состояние объекта Person между различными запросами, то путь Pekka - это путь, или альтернативно используйте другой механизм постоянного хранения, такой как DB, File и т. Д.
Поскольку я предполагаю, что вы не хотите иметь каждый экземпляр Person с именем 'bob', не так ли? Я предполагаю, что вы хотите сохранить состояние одного экземпляра Person.
Итак, в заключение, вы, вероятно, не хотите использовать статический член для начала.