Я не уверен, возможно ли это вообще в PHP, но это то, что я пытаюсь сделать. В моем классе есть статическая переменная, которую я хочу использовать в качестве ссылки вне класса.
class Foo {
protected static $bar=123;
function GetReference() {
return self::&$bar; // I want to return a reference to the static member variable.
}
function Magic() {
self::$bar = "Magic";
}
}
$Inst = new Foo;
$Ref = $Inst->GetReference();
print $Ref; // Prints 123
$Inst->DoMagic();
print $Ref; // Prints 'Magic'
Может ли кто-нибудь подтвердить, возможно ли это вообще или другое решение для достижения того же результата:
- Переменная должна быть статической, поскольку класс Foo является базовым классом, и все производные должны иметь доступ к одним и тем же данным.
- HTML необходим доступ к справочным данным класса, но он не может быть установлен без метода установки, поскольку класс должен знать, когда установлена переменная.
Полагаю, это всегда можно решить с помощью глобальных переменных, объявленных вне класса, и некоторых дисциплин кодирования в качестве экстренного решения.
// Спасибо
[EDIT]
Да, я использую PHP 5.3.2