解决方案 »

  1.   


    function connect($zf_host, $zf_user, $zf_password, $zf_database, $zf_pconnect = 'false', $zp_real = false) {
        $this->database = $zf_database;
        $this->user = $zf_user;
        $this->host = $zf_host;
        $this->password = $zf_password;
        $this->pConnect = $zf_pconnect;
        $this->real = $zp_real;
      

  2.   

    这是 php4 的编程风格
    一般的说,显式的声明在类属性列表的属性,是为了表示这些属性一定存在并可被使用至于在 connect 方法中将传入的参数赋值给类属性是不可取的
      

  3.   


    $this->database 我可以认为database像var $link, $count_queries, $total_query_time;是这个类的属性吗 
      

  4.   

    按先聲明,後使用的原則較好,可以減少不少bug。
      

  5.   

    这是PHP定义变量的一种形式,和直接在方法外定义是一样的,只要执行了这个connect方法,就能取到;
    他不和其他变量一起定义,是想用到的时候再定义,这样就避免定义了变量但有可能不用从而占用内存的情况,这是我觉得最合理的地方。
      

  6.   

    $this->database 與 $link $count_queries 一樣,都是這個類的屬性。
    都可以給外面使用。
      

  7.   

    是的,不是像,而是就是这个类的属性
    从调用方式看,你只要调用 connect 方法,就必须传递 $zf_database 参数。那么把它作为类属性保存起来的意义何在呢?
    传递给 connect 的参数都是一次性参数,用完就不要了,所以并不需要保存。而且在其他地方也不会被用到
      

  8.   

    这也是PHP的优势吧,变量不用事先声明