如题:$var = 'foo';$obj = new $var  那个$var  不是string 类型的吗?怎么也可以使用new 呢?
<?phpclass foo {   var $what;   function foo($newWhat = 'foo') {
       $this->what = $newWhat;
   }   function bar() {
       print "<p>I'm a ".$this->what."</p>\n";
   }}$var = 'foo';$obj = new $var;
// prints "I'm a foo"
$obj->bar();$obj = new $var();
// prints "I'm a foo"
$obj->bar();$obj = new $var('bar');
// prints "I'm a bar"
$obj->bar();
?>

解决方案 »

  1.   


    $con = $con . 'Controller';
    $act = $act . 'Action';
            $con = new $con();
    $con->$act();这是正确的,却掉()依然是正确的
      

  2.   

    那也就是说这一句 ($var = 'foo';) 执行后,系统默认 $var 变量是foo 类型的? 
      

  3.   


    php支持这样的字符串引用:
    $str='test';
    $test='100';
    echo $$str;//输出100我建议你先读一些基础语法的书籍(像php和Mysql Web开发...),这样只要能看懂代码,一切都不是问题!
      

  4.   

    $$str; 这个不就是可变变量吗?
      

  5.   

    这种方式称为php动态调用:也就是说可以用变量名称赋值后调用 类对象 ,函数class test{
      ...
    }var $cName = "test";$objTest = new $cName();
      

  6.   

    哦,原来是这样啊,还可以这么用,学习了。呵呵,我是看见文档上面有这段代码的,不知道什么意思,就贴出来了。谢谢啦!goen123