Benutzer-Werkzeuge

Webseiten-Werkzeuge


dev:284:registry

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dev:284:registry [04.09.2019 03:08] – [Anwendung von WbAdaptor] Manuela v.d.Deckendev:284:registry [26.09.2023 07:09] (aktuell) Manuela v.d.Decken
Zeile 12: Zeile 12:
 Globale Konstanten sind ja, wie schon seit langem bekannt, ab dieser Version deprecated, sprich unerwünscht. Siehe: [[dev:284:deprecated|Deprecated-Liste Eintrag 10 v. 12.2013]] Globale Konstanten sind ja, wie schon seit langem bekannt, ab dieser Version deprecated, sprich unerwünscht. Siehe: [[dev:284:deprecated|Deprecated-Liste Eintrag 10 v. 12.2013]]
  
-Selbstverständlich funktioniert das jetzt nicht so, dass man alle bisherigen Konstanten einfach nur Ersatzlos streicht. Das ist schlichtweg unmöglich. Zumindest im ersten Schritt stellt die Klasse '**WbAdaptor**' jedoch Eigenschaften bereit, die den bisherigen Konstanten ähneln.+Selbstverständlich funktioniert das jetzt nicht so, dass man alle bisherigen Konstanten einfach nur Ersatzlos streicht. Das ist schlichtweg unmöglich. Zumindest im ersten Schritt stellt die Klasse '**WbAdaptor**' jedoch Eigenschaften bereit, die den bisherigen Konstanten im Prinzip entsprechen.
  
 Eine wesentliche Änderung hat sich bei der Schreibweise der Bezeichner ergeben:\\ Eine wesentliche Änderung hat sich bei der Schreibweise der Bezeichner ergeben:\\
-Wurden die Bezeichner bisher ausschließlich in Großbuchstaben geschrieben und mehrere Einzelworte durch einen Unterstrich **_** getrennt, so bestehen die neuen Bezeichner zwar weiterhin aus der selben Zeichenfolge, jedoch in '**//StudlyCaps//**'-Schreibweise ohne Trennzeichen zwischen einzelnen Wörtern.+Wurden die Bezeichner bisher ausschließlich in Großbuchstaben geschrieben und mehrere Einzelworte durch einen Unterstrich **_** getrennt, so bestehen die neuen Bezeichner zwar meist weiterhin aus der selben Zeichenfolge, jedoch in '**//StudlyCaps//**'-Schreibweise ohne Trennzeichen zwischen einzelnen Wörtern.
  
 __Beispiel:__ aus **DEFAULT_TEMPLATE** wird jetzt **DefaultTemplate** __Beispiel:__ aus **DEFAULT_TEMPLATE** wird jetzt **DefaultTemplate**
Zeile 30: Zeile 30:
  
 ^alte Konstante   ^neuer Schlüssel    ^Inhalt (Beispielhaft)  ^ ^alte Konstante   ^neuer Schlüssel    ^Inhalt (Beispielhaft)  ^
-|NEW               |Db              |das aktuelle Datenbankzugriffsobjekt           | +|NEW               |getDatabase()   |das aktuelle Datenbankzugriffsobjekt           | 
-|NEW               |Trans           |das aktuelle Translation-Objekt                | +|NEW               |getTranslate()  |das aktuelle Translation-Objekt                | 
-|NEW               |App             |das aktuelle Applikations-/Core-Objekt         +|NEW               |getApplication() |das aktuelle Applikations-/Core-Objekt         |  
 +|NEW               |getRequester()  |das aktuelle Requester Objekt                  |
 |NEW               |PageId          |die ID der aktuellen Seite                     | |NEW               |PageId          |die ID der aktuellen Seite                     |
 |NEW               |BlockId         |die ID des aktuellen Blockes                   | |NEW               |BlockId         |die ID des aktuellen Blockes                   |
Zeile 66: Zeile 67:
  
 Unabhängig von den geänderten Präfixes gelten folgende Regeln für Endungen: Unabhängig von den geänderten Präfixes gelten folgende Regeln für Endungen:
-  * xxx**Url** beinhaltet grundsätzlich eine vollwertige URL mit Protokollangabe+  * xxx**Url** beinhaltet grundsätzlich eine vollwertige URL mit Protokollangabe. Eine URL endet **immer** mit einem Slash ** / ** ohne einen Dateinamen 
   * xxx**Path** beinhaltet einen vollwertigen Pfad ausgehend vom Wurzelverzeichnis des physikalischen Dateisystems und beginnt **immer** mit einem Slash** / ** bzw. **c:/** unter Windows.   * xxx**Path** beinhaltet einen vollwertigen Pfad ausgehend vom Wurzelverzeichnis des physikalischen Dateisystems und beginnt **immer** mit einem Slash** / ** bzw. **c:/** unter Windows.
   * xxx**Rel** beinhaltet einen absoluten Pfad, ausgehend von DOCUMENT_ROOT und beginnt **immer** mit einem Slash** / **   * xxx**Rel** beinhaltet einen absoluten Pfad, ausgehend von DOCUMENT_ROOT und beginnt **immer** mit einem Slash** / **
   * xxx**Dir** beinhaltet ein oder mehrere aufeinanderfolgende Verzeichnisnamen, und darf **nicht** mit einem Slash** / ** beginnen.   * xxx**Dir** beinhaltet ein oder mehrere aufeinanderfolgende Verzeichnisnamen, und darf **nicht** mit einem Slash** / ** beginnen.
 __Für alle Angaben gemeinsam gilt:__ __Für alle Angaben gemeinsam gilt:__
-  * Als PATH_SEPERATOR ist ausschließlich der Slash** / ** zugelassen. Anpassungen können problemlos erfolgen mit\\ <php> $sPath = str_replace('\\', '/', $sPath); </php>+  * Als PATH_SEPERATOR ist ausschließlich der Slash** / ** zugelassen. Anpassungen können problemlos erfolgen mit\\ <code> $sPath = str_replace('\\', '/', $sPath); </code>
   * Ist das letzte Element einer URL-,Rel-, Path-, oder Dir-Angabe ein Verzeichnis, so **muss** die Angabe mit einem Slash** / ** enden.\\   * Ist das letzte Element einer URL-,Rel-, Path-, oder Dir-Angabe ein Verzeichnis, so **muss** die Angabe mit einem Slash** / ** enden.\\
-  * Um sicher zu stellen, dass ein Verzeichnis mit einem einzelnen Slash** / **abgeschlossen wird genügt die kurze Sequenz\\ <php> $sPath = rtrim($sPath, '/').'/'; </php+  * Um sicher zu stellen, dass ein Verzeichnis mit einem einzelnen Slash** / **abgeschlossen wird genügt die kurze Sequenz\\ <code> $sPath = rtrim($sPath, '/').'/'; </code
-  * Führende Slashes** / **werden entfernt mit\\ <php>  $sPath = ltrim($sPath, '/');  </php>+  * Führende Slashes** / **werden entfernt mit\\ <code>  $sPath = ltrim($sPath, '/');  </code>
  
 ALT => NEU Beispiele: ALT => NEU Beispiele:
Zeile 89: Zeile 90:
  
 ===== Anwendung von WbAdaptor ===== ===== Anwendung von WbAdaptor =====
-Diese Klasse ist von überall zu erreichen. Es genügt völlig, die einzig existierende, aktive Instanz der Klasse mit\\ <php> $oReg = WbAdaptor::getInstance();</php> in den aktuellen Sichtbarkeitsbereich zu importieren. Noch besser ist jedoch die Nutzung von Dependency-Injection, also die Übergabe der Instanz von außen an die Funktion oder Klasse.+Diese Klasse ist von überall zu erreichen. Es genügt völlig, die einzig existierende, aktive Instanz der Klasse mit\\ <code> $oReg = \bin\WbAdaptor::getInstance();</code> in den aktuellen Sichtbarkeitsbereich zu importieren. Noch besser ist jedoch die Nutzung von Dependency-Injection, also die Übergabe der Instanz von außen an die Funktion oder Klasse.
  
 :!: Es wird dringend empfohlen, den Bezeichner //**$oReg**// für die Instanz des WbAdaptor-Objektes zu verwenden um eine leichtere und über alle Programmteile durchgängige Lesbarkeit zu erreichen. :!: Es wird dringend empfohlen, den Bezeichner //**$oReg**// für die Instanz des WbAdaptor-Objektes zu verwenden um eine leichtere und über alle Programmteile durchgängige Lesbarkeit zu erreichen.
  
 Auch der Abruf der einzelnen Werte ist recht unproblematisch:\\ Auch der Abruf der einzelnen Werte ist recht unproblematisch:\\
-<php> echo $oReg->TemplateDir.'images/logo.png'; </php> \\+<code> echo $oReg->TemplateDir.'images/logo.png'; </code> \\
 Ausgabe:  ''templates/myTemplate/images/logo.png'' Ausgabe:  ''templates/myTemplate/images/logo.png''
  
dev/284/registry.1567566508.txt.gz · Zuletzt geändert: 04.09.2019 03:08 von Manuela v.d.Decken