Zum Inhalt springen

[PHP] Eure Konventionen?


Empfohlene Beiträge

Aus Interesse würde mich mal interessieren, welche Eigenarten Ihr euch im Laufe der Zeit für die Variablenbezeichnungen, Tabellennamen, Feldnamen, Definebezeichnungen u.s.w. angeeignet habt?

Gehört Ihr eher zu den "Ich programmier einfach wies mir gerade gefällt" oder zu den "lieber immer Ordnung und gleiche Bezeichnung" - Leuten?

Ich selbst achte aus Gründen der Übersicht, der Pfleg- und Wartbarkeit und der Dokumentation immer auf eine einheitliche Konvention bei der Vergabe von Namen und Bezeichnungen - natürlich auch aus Gründen der Teamarbeit (leicht verständlicher und einheitlicher Quellcode für alle Teammitglieder).

Tabellen bennene ich z.B. immer nach folgendem Schema:

  • dbt_cfg_config
  • dbt_usr_user
  • dbt_rps_rechnungsposition
  • dbt_rkf_rechnungskopf
  • dbt_nws_news

Dabvei steht "dbt_" (für Database-Table) und _XXX_ als Zuweisungswert für die Felder der Tabelle:

Feldnamen für die Tabelle "dbt_cfg_config" wären dann z.B.:

dbf_cfg_var

dbf_cfg_value

Die Anfangszeichen "dbf_" (Database-Field) geben mir im Quellcode Aufschluss, dass es sich um ein Datenbank-Feld handelt. Die vier folgenden Zeichen "cfg_" geben Aufschluss darüber, dass dieses Feld zu der Tabelle "cfg" (also "dbt_cfg_config") gehört.

So kann ich im Quellcode immer gleich sehen, um welches Feld und welche Tabelle es sich handelt und woher die Daten kommen. Zudem wird es einfacher im Quellcode nach bestimmten Feldern zu suchen, da ich z.B. Variablen nicht so benenne. Eindeutige Bezeichnung für Tabellen und Felder an jeder Stelle im Quellcode, Feldzuordnungen zur Tabelle auch in Templatevariablen (z.B. Smarty) immer sofort ersichtlich, Herkunftsort von Feldinhalten ablesbar.

Variablen schreibe ich z.B. klein, mit einem Bezeichner für die Verwendung am Anfang:

Könnte z.B. so aussehen:

"$sys_variablenname" für z.B. eine Systemvariable

"$a_userdaten" für z.B. ein Array mit Userdaten

"$f_vorname" z.B. für einen Wert aus einem Formular in einer PHP-Seite

"$l_vorname" z.B. für einen Wert, der per Link übergeben wird.

Defines z.B. schreibe ich hiongegen immer groß, damit man die besser erkennen kann. Am Anfang wird immer ein Bezeichner "D_" angegeben.

"D_CFG_BILDPFAD" für z.B. eine Config-De´fine, die einen Bildpfad enthällt.

Ich hab da halt so meinen Ordnungstick, würde mich mal interessieren, welche Ihr da so habt, oder ob Ihr einfach alles irgendwie bezeichnet?

Gruß

Oneside

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich bin extrem exotisch und programmiere PHP aus irgendeinem merkwürdigen Grund nach Java-Konventionen. Könnte damit zusammenhängen dass ich php5 Objektorientiert schreibe und sonst in der Firma nur Java.


class WhatEver {
const DEFAULT_USERNAME = "Anonymous";

private $userName;

public function __construct() {
}

public function getUserName() {
return $this->userName;
}
}
[/PHP]

Mag für den ein oder Anderen recht merkwürdig aussehen, ist aber an sich ganz simpel :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich bin extrem exotisch und programmiere PHP aus irgendeinem merkwürdigen Grund nach Java-Konventionen. Könnte damit zusammenhängen dass ich php5 Objektorientiert schreibe und sonst in der Firma nur Java.


class WhatEver {
const DEFAULT_USERNAME = "Anonymous";

private $userName;

public function __construct() {
}

public function getUserName() {
return $this->userName;
}
}
[/PHP]

Mag für den ein oder Anderen recht merkwürdig aussehen, ist aber an sich ganz simpel :)

Das liegt wahrscheinlich einfach nur an der Angewöhnung, da du bestimmt auf der Arbeit mehr programmierst oder?

Ich habe mir meine Konventionen auch von meiner früheren Arbeitsstelle angeeignet (etwas abgeändert natürlich).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

für Datenbanken habe ich in der Regel ein db_ am Anfang des Namens, also db_Projekt.

Tabellen haben dann ein tbl_ vorne weg, also tbl_User

Bei Feldnamen habe ich erst den Datentypen, z.B. int, dann den Namen, z.B. User, wenn es sich um einen ID- Wert handelt ein ID direkt hinterm Namen und wenn es sich um einen Primary bzw. Foreign Key handelt noch ein _PK bzw. _FK hinten dran, also intUserID_PK oder varName.

Im Programmcode verwende ich dann ebenso Datentypen:

int = Integer

str = String

arr = Array

obj = Objekt

bln = Boolean

anz = Formularfeld

btn = Button

usw...

Aus VB- Script habe ich mir auch für php übernommen, Variablen vor der Verwendung zu initialisieren. Hinter jede Variable schreibe ich dann, für was ich sie verwenden möchte.

Dateinamen werden ebenso strukturiert.

Stammdateien (Ausnahme die index.php als Einstieg) fangen immer mit einem Großbuchstaben an.

Aus Gründen der Übersichtlichkeit lager ich Formulare immer in einzelne Dateien aus. Die haben dann ein frm vorne Weg, den Dateinamen, ein .inc als Kentzeichen, dass sie includiert werden und die Extension .php, z.B. frmLogin.inc.php.

Ebenso lager ich gerne mal längere Codeabschnitte, indenen ich nur das Ergebnis einer SQL- Abfrage in einer Tabelle darstelle in eine extra Datei aus. Da kommt dann ein tbl vorne Weg, z.B. tblUserliste.inc.php.

Auf der Arbeit gehe ich sogar her und benenne typische Zählervariablen wie I oder X auch als intZaehler bzw. falls mehrere Zaehler vorhanden sind noch eindeutiger. Privat ist mir das aber zuviel Aufwand, da bei solchen Variablen klar sein sollte, wofür sie dienen.

Dazu kommt dann noch die Formatierung des Quelltextes.

Ersteinmal trenne ich kein php und html sondern fasse den kompletten Inhalt in einen php- Block. Dann wird noch ordentlich eingerückt. Als Beispiel:



<?php
$strFoo = NULL; // Irgendwas total wichtiges

echo "
<html>
<head>
</head>
<body>
<table border=\"0\">
<tr>
<td>";

// Wenn was total wichtiges passieren soll
if ($strFoo == "bar")
{
Mach_Irgendwas();
} // if ($strFoo == "bar")

echo "
</td>
</tr>
</table>
</body>
</html>";
?>

[/PHP]

Für asp schaut das Ganze dann wieder anders aus und html und der Scriptteil sind getrennt. Es ist irgendwie zu aufwändig alles html in nen response.write zu packen.

Kommentieren gehört natürlich auch noch dazu. Gerade bei Bedingungen oder Schleifen kann es schon sehr sinnvoll sein, am Bedingungs- bzw. Schleifenende noch zu schreiben, wie die der Anfang überhaupt war.

Das ist jedenfalls so das, was ich mir angeeignet habe, weil ich auch viel zwischen asp, php und c++ hin und her springen muss.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@~Hawkeye~

Sehr interessant wie du das machst, einige deiner Methoden verwende ich auch (z.B. die Extensions) und andere wie z.B. den Datentyp im Variablennamen sollte ich mir vielleicht auch noch aneignen.

Auf sauber eingerückten Code achte ich ebenfalls sehr viel, da dies einfach später einfacher lesbar ist und ich es hasse rumsuchen zu müssen :-)))

Bei etwas größeren Schleiffen schreibe ich an das Schleifenende auch immer nochmal dran, was da beendet wird z.B. :

//END While(x==Y)

, da ich bei langem Quellcode schon mal einige Schleifen und Verschachtelungen haben kann, die dann doch etwas schwerer zu überblicken sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...