我正在阅读一些我听不懂的PHP代码:

class foo {
  function select($p1, $dbh=null) {
    if ( is_null($dbh) )
        $dbh = $this->dbh ;
    return;
  }

  function get() {
    return $this->dbh;
  }
}

我从类中找不到$this->dbh ($dbh)声明。我的问题是:
  • $this->dbh的值是什么?
  • 它是函数select()的局部变量吗?
  • $this是否属于class foo的数据成员?为什么此类中没有$dbh的声明?
  • 最佳答案

    PHP对要求类属性声明并不严格。

  • 分配后,将以静默方式创建该属性。
  • 如果启用了E_STRICT,则从不存在的属性进行读取会生成一条通知。
  • 任何未定义属性的默认值为NULL
  • 10-08 08:49