class Public_User 

var $Main;                        //声明一个属性
    function Public_User(&$main) //定义构造函数,创建对象的时候自动执行 PHP5里应该用__construct
    { 
        $this->Main = &$main; //&符号表示引用参数传递,可以在函数内部修改外部变量传来的值
    } 
} 

解决方案 »

  1.   

    标准PHP4写法 现在已淘汰明白就好了别这样写方法名和类名相同时 是构造函数 在类被实例化的时候会调用&是引用传递$a = 0;
    function test (&$a){
     $a++;
    }
    test($a);
    echo $a;// 将输出1就是在给函数或者方法传递变量的时候 传递的是变量的引用地址 函数中的变量和函数外的变量是同一个地址 所以在函数内给变量赋值 同样会影响函数外的变量
    这是PHP4的做法 现在已经不推荐使用了
    在一个庞大复杂的程序里 很难弄清一个变量在什么时候在其他地方被使用了 导致可读性变差$a =0;
    function test($a){
     return ++$a;
    }
    $a = test($a);
    echo $a;// 输出1同样的功能 但可读性要好 ++$a比$a++要快 呵呵 习惯就好