没有办法,PHP没有关于变量作用域的概念,不支持public private static protect之类的声明

解决方案 »

  1.   

    php4没有私有成员,到php5才有
    你一定要做这种保护的话,可以把变量定义到方法中去,并设为静态变量
    class A {
      function inoutvar($v="") {
        static $var = "";
        if($v) {
          $var = $v;
        }else
          return $var;
      }
    }$p = new A;
    $p->inoutvar(1234);
    echo $p->inoutvar();
      

  2.   

    静态变量的作用域是整个类还是整个程序运行过程?
    static $var = "";
      

  3.   

    PHP4面向对象功能很不完善的,等等PHP5吧
    :)
      

  4.   

    function inoutvar($v="") {
        static $var = "";
        if($v) {
          $var = $v;
        }else
          return $var;
      }
    function inoutvar2($v="") {
        static $var = "";
        if($v) {
          $var = $v;
        }else
          return $var;
      }
    声明2个静态$var,会不会出错?