मुझे यह कोड में मिला, इसका क्या अर्थ है और उस और सामान्य $ dir चर के बीच क्या अंतर है?{} का क्या अर्थ है?
global ${$dir};
$this->{$dir} = new $class();
मुझे यह कोड में मिला, इसका क्या अर्थ है और उस और सामान्य $ dir चर के बीच क्या अंतर है?{} का क्या अर्थ है?
global ${$dir};
$this->{$dir} = new $class();
इसे जटिल घुंघराले वाक्यविन्यास कहा जाता है।
स्ट्रिंग प्रतिनिधित्व के साथ किसी भी स्केलर चर, सरणी तत्व या ऑब्जेक्ट प्रॉपर्टी को इस वाक्यविन्यास के माध्यम से शामिल किया जा सकता है। बस अभिव्यक्ति को वैसे ही लिखें जैसा कि यह स्ट्रिंग के बाहर दिखाई देगा, और फिर इसे {और} में लपेटें। चूंकि {भाग नहीं लिया जा सकता है, यह वाक्यविन्यास केवल तभी पहचाना जाएगा जब $ तुरंत { {\ $ से का उपयोग एक शाब्दिक {$ प्राप्त करें।
और जानकारी:
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex
यह $dir
चर का मान लेने और उस नाम के साथ चर जा रहे हैं।
तो $dir = 'foo';
, तो ${$dir}
$foo
जैसा ही है।
इसी तरह, $dir = 'foo';
, तो $this->{$dir}
$this->foo
जैसा ही है।
http://www.php.net/manual/en/language.variables.variable.php
वे चर चर के नाम रैप करने के लिए उपयोग किया जाता है।
एक गतिशील रूप से निर्मित चर। उदाहरण के लिए:
$app = new App();
$app->someMethod('MyDB');
// global
$config = array('user' => 'mark', 'pass' => '*****');
class App {
// MyDB instance
protected $config;
public function someMethod($class) {
$dir = 'config';
// $config = array('user' => 'mark', 'pass' => '*****')
global ${$dir};
// not static variable !!!
$this->{$dir} = new $class();
}
}
class MyDB {
// body
}
यह गतिशील नाम है। अधिक http://stackoverflow.com/questions/9257505/dynamic-variable-names-php –