Variable Variable Woes
Posted: Wed Mar 28, 2007 5:37 pm
Consider this snippet while assuming those classes have been defined.
Here's the output:
It didn't throw any errors but
did not instantiate anything.
Perhaps I am not seeing something obvious but I do not understand.......
Code: Select all
$Test = new Test();
$Test->TestSub = new TestSub();
$Test->TestSub->TestSubSub = new TestSubSub();
printf_r($Test);
$var1 = 'Test';
$var2 = 'TestSub';
$var3 = 'TestSubSub';
$args = '';
$varvar = "namespace->$var2";
$namespace = new $var1();
${'namespace'}->{$var2} = new $var2();
${$varvar}->{$var3} = new $var3(vprintf('%s', $args));
printf_r($namespace);
echo "\${$varvar}->{$var3}";
printf_r($namespace);Code: Select all
Test Object
(
[TestSub] => TestSub Object
(
[TestSubSub] => TestSubSub Object
(
)
)
)
Test Object
(
[TestSub] => TestSub Object
(
)
)
$namespace->TestSub->TestSubSubCode: Select all
${$varvar}->{$var3} = new $var3(vprintf('%s', $args));Perhaps I am not seeing something obvious but I do not understand.......