मैं किसी ऑब्जेक्ट के किसी निजी चर को बंद करने के भीतर संदर्भित करने का प्रयास कर रहा हूं। नीचे दिया गया कोड काम करेगा, लेकिन यह Fatal error: Cannot access self:: when no class scope is active in test.php on line 12
और Fatal error: Using $this when not in object context in test.php on line 20
शिकायत करता है।बंद होने के भीतर से निजी चरों तक पहुंच
कोई विचार अलग-अलग चर को बनाए रखते हुए और सहायक कार्यों के बिना (एक निजी चर के पूरे विचार को हराकर) बंद करने का उपयोग करके एक ही परिणाम को पूरा करने के लिए। ध्यान दें
class MyClass
{
static private $_var1;
private $_var2;
static function setVar1($value)
{
$closure = function() use ($value) {
self::$_var1 = $value;
};
$closure();
}
function setVar2($value)
{
$closure = function() use ($value) {
$this->_var2 = $value;
};
$closure();
}
}
MyClass::setVar1("hello"); //doesn't work
$myclass = new MyClass;
$myclass->setVar2("hello"); //doesn't work
हे में शुरू संभव है - नकल ;-) – DMI
@Dave मैं वास्तव में यह लिख रहा था इससे पहले कि मैं अपने जवाब पढ़ें। वैसे भी, निपटारे के रूप में आपके लिए +1: पी – Artefacto
हे। शीघ्र समानांतर विकास। +1 के लिए धन्यवाद, और जैसा कि आपने मुझसे कहीं अधिक प्रयास किया है, वैसे ही लौट आया! :-) – DMI