noch zu PHP-Klassen Gewöhnung so ein bisschen „help/guidance“ bittePHP-Klassen ist dies der richtige
ich eine Klasse wie dieses:
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;
}
}
Die Grenze kommt aus einer PHP-Funktion - und funktioniert.
Was ich wirklich gerne tun würde, ist extend Klassen für das obige Beispiel zu erstellen, die sagen $this-frm_url
als eine Funktion. also auf der "Seite" rufe ich die Klasse $classcall = new class();
an aber anstatt echo $classcall->frm_url[$key];
zu gehen kann ich einfach eine Funktion wie diese aufrufen echo frm_url();
Also im obigen Beispiel gäbe es 2 extend Klassen für frm_urlID und eine für frm_url.
Auch in der "Master-Klasse" bin ich richtig in der Einstellung als Array? dh $this->frm_url[]
als ohne, dass ich nicht scheinen kann, eine Schleife zu laufen, aber die Schleife scheint "über" komplex, wenn Sie es so tun, wie Sie (gut ich) eine Zählung der Array-Elemente bekommen müssen, dann führen Sie die Schleife so (wieder I) habe eine for()
Erklärung dann eine foreach()
. Scheint mir langgezogen.
Vielen Dank im Voraus.
Ist es nicht merkwürdig zu sagen * benutze keine Globals *, aber schlage dann vor, eine statische Klasse zu verwenden? Statische Aufrufe führen die gleiche Abhängigkeit vom globalen Gültigkeitsbereich wie Globals. – Gordon
Zumindest sind sie dann gekapselt. –
Ich denke, er wollte nicht "global" verwenden, um externe Variablen in den Geltungsbereich zu bringen. Dem stimme ich zu, da die Variable "global" später keinen Zusammenhang hat. Statische Variablen/Klassen setzen die Variable zumindest in Kontext.Sozusagen selbstdokumentierend, damit Sie wissen, wo es deklariert wurde. –