PHP PDO – Wofür stehen $dbh und $sth?

Lesezeit: 3 Minuten

Benutzer-Avatar
JDelage

In PDO-Beispielen finde ich oft die Akronyme $dbh und $sth Gebraucht. Ich nehme an $dbh steht für “Datenbankhandle” – richtig? Wie wäre es mit $sth? “Anweisungshandle”?

Gibt es gute Gründe, die oben genannten stattdessen zu verwenden $db_connection und $query (oder ggf. andere)?

Benutzer-Avatar
George Cummins

$dbh = “Datenbank-Handle”

$sth = “Anweisungshandle”

Ich bevorzuge die längeren Formen, da sie aussagekräftiger sind. Für zukünftige Betreuer ist es oft hilfreich, wenn Sie explizit sind, selbst wenn Sie gebräuchliche Akronyme und Abkürzungen verwenden.

Früher, als Festplattenkapazität, Speicher und Bandbreite knapper waren, machten die Abkürzungen vielleicht Sinn. Heutzutage liegt (wohl) ein größerer Wert darin, lesbaren, wartbaren Code zu erstellen.

Benutzer-Avatar
Chris Baker

Ihre Intuition war richtig, wofür diese Variablennamen stehen, aber das heißt nicht, dass jede Verwendung von PDO diese Variablennamen verwendet, sondern nur der spezielle Code, den Sie sich ansehen.

Variablennamen sind nie von Bedeutung für die korrekte Ausführung einer Funktion, an die Sie sie übergeben. Ich habe Leute gesehen, die in ihrem gesamten Projekt Obszönitäten für Variablennamen verwenden … es spielt einfach keine Rolle zu den Funktionen. Zu Ihrem eigenen Wohl und zum Wohle aller zukünftigen Entwickler, die mit Ihnen zusammenarbeiten, sollten Variablennamen prägnant und klar sein. Abkürzungen sollten vermieden werden, wenn es sich vermeiden lässt, da dies für andere möglicherweise nicht klar ist $hndlr so kürzen Sie “Handler” ab – wie diese Frage zeigt, sind Abkürzungen selten intuitiv.

Es ist wichtiger, dass Sie einen Codierungsstandard entwickeln oder auswählen und sich daran halten. Wenn Ihre Variablen alle Kleinbuchstaben_mit_Unterstrichen sind, bleiben Sie dabei, unabhängig davon, was Sie Leute in anderem Code außerhalb Ihres Projekts tun sehen.

  • @Chris: Ich stimme deinem Kommentar nicht zu “es spielt einfach keine Rolle”. Für die PHP-Engine spielt es vielleicht keine Rolle, aber für Entwickler, die Ihren Code in Zukunft lesen könnten, ist es sehr wichtig.

    – George Cummins

    16. Juni 2011 um 23:28 Uhr


  • Es spielt keine Rolle, zu den Funktionen. Gleich im nächsten Satz heißt es: “Es ist wichtiger, dass Sie einen Codierungsstandard entwickeln oder auswählen und dabei bleiben.”, der die von Ihnen geäußerten Bedenken anspricht. Ich werde meine Antwort ändern, um dies ausdrücklich klarzustellen.

    – Chris Baker

    16. Juni 2011 um 23:29 Uhr


  • @Chris: Ein schlechter Standard ist genauso schlecht wie gar kein Standard. Daran festzuhalten macht es nicht besser.

    – George Cummins

    16. Juni 2011 um 23:31 Uhr

  • Urteile über theoretische Standards abzugeben, die das OP verwenden kann oder nicht, würde den Rahmen dieser Antwort sprengen. Ich glaube, Sie sind pedantisch mit meiner Antwort, zu welchem ​​Zweck?

    – Chris Baker

    16. Juni 2011 um 23:34 Uhr


  • Möglicherweise ja. Ich werde “Meiner bescheidenen Meinung nach” hinzufügen, damit wir uns von Freunden trennen können. Handeln?

    – George Cummins

    16. Juni 2011 um 23:34 Uhr

Es ist wichtig zu wissen, was sie sind und sie richtig zu verwenden. Es steht Ihnen frei, sie so zu nennen, wie Sie möchten. Da das Wort „Handle“ in anderen Bereichen nicht oft vorkommt, gebe ich meinen PDO-Variablen normalerweise andere Namen.

Meine Verbindung nenne ich $pdo_db. Dem Anweisungs-Handle gebe ich einen beschreibenden Namen basierend auf dem, was es darstellt, wie zum Beispiel $pdo_user_info. Es geht darum, den eigenen Geschmack in Einklang zu bringen und ihn für zukünftige Leser Ihres Codes verständlich zu machen.

1268260cookie-checkPHP PDO – Wofür stehen $dbh und $sth?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy