encore se habituer à des classes PHP donc un peu de « aide/conseils » s'il vous plaîtclasses PHP est ce droit
J'ai une classe comme ceci:
class ansa_accounturl_query {
function __construct() {
global $DBH;
global $limit;
$STH = $DBH->query("SELECT frm_url.frm_urlID,frm_url.frm_url FROM frm_url WHERE frm_url.accountID='SOMETHING' ".$limit." ");
$STH->setFetchMode(PDO::FETCH_OBJ);
$this->noforms = $STH->rowCount();
while($row = $STH->fetch()):
$this->frm_urlID[] = $row->frm_urlID;
$this->frm_url[] = $row->frm_url;
endwhile;
}
}
La limite provient d'une fonction PHP - et travaille.
Ce que je voudrais vraiment faire est de créer des classes d'extension pour l'exemple ci-dessus qui donne par exemple $this-frm_url
en tant que fonction. de sorte que sur la "page" j'appelle la classe $classcall = new class();
mais plutôt que d'avoir à aller echo $classcall->frm_url[$key];
Je peux juste appeler une fonction comme ceci echo frm_url();
Donc dans l'exemple ci-dessus il y aurait 2 extensions classes un pour frm_urlID et un pour frm_url.
De même, dans la "master class", est-ce que je suis dans le réglage en tant que tableau? $this->frm_url[]
sans cela je ne peux pas sembler exécuter une boucle mais la boucle semble "plus" complexe si vous le faites de cette façon que vous (bien je) dois obtenir un compte des éléments du tableau puis exécutez la boucle de sorte que vous (encore I) ont une instruction for()
puis un foreach()
. Ça me semble long.
Merci à l'avance.
N'est-ce pas bizarre de dire * n'utilisez pas les globals * mais suggérez d'utiliser une classe statique? Les appels statiques introduisent la même déperdition sur la portée globale que les globaux. – Gordon
Au moins, ils sont encapsulés alors. –
Je pense qu'il voulait ne pas utiliser "global" pour mettre les variables externes dans la portée. Je suis d'accord avec cela, puisque la variable "globale" n'a plus de contexte par la suite. Les variables/classes statiques mettent au moins la variable en contexte.Sorte d'auto-documentation afin que vous sachiez où il a été déclaré. –