PHP $cette variable

Je suis en train de lire quelques code PHP que je ne pouvais pas comprendre:

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

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

Je ne peux pas trouver $this->dbh ($dbh) déclaration de la classe. Mes questions sont les suivantes:

  • Quelle est la valeur de $this->dbh ?

  • Est-il une variable locale à la fonction de select()?

  • Ne $this appartiennent class foode données de l'membre? Pourquoi il n'y a pas de déclaration de l' $dbh dans cette classe?

  • Sauf si vous n'avez pas compris le code qui définit $dbh pour la classe ou d'une classe, il s'étend, ce code ne fait rien. Ce que @Unsigned dit est vrai: si une propriété est référencée qui n'existe pas, il est silencieusement créé. Dans ce cas, toutefois, ce code renvoie TOUJOURS null. TOUJOURS. $this->dbh est jamais définie, seulement utilisé pour définir d'autres variables, ce qui signifie que peu importe ce que vous faites, get() retourne TOUJOURS null. Je pense que vous avez peut-être laissé de côté certains pertinentes du code, ou de la personne qui a écrit cela est absolument fou.
  • Il est juste un peu de classe, je pense que pour répondre à vos questions, nous devons avoir un peu plus de code, où l'on déclare l'objet de cette classe