Als Deutscher Softwareentwickler in der Schweiz

Landstrasse

Drive your own Way

Share now

Eine immer wiederkehrende Frage ist das scoping in CFCs. Hier eine kurz Erklärung für den Scope: „variables“ am Beispiel zur Nutzung des Datasource einer DAO.

myAddressCFC.cfc
name=„init“ returntype=„address“ output=„false“ access=„public“ displayname=„Initialisierung des Objectes“ hint=„stellt alle Parameter als instance-Variablen im ‚this.scope‘ zur Verfügung“>
 
name=„datasource“ type=„string“ required=„true“ default=„“>

 
variables.instance.datasource = arguments.datasource>

  this />

Diese Variable ist dann in der gesamten aktuellen CFC gültig und kann somit von jeder Funktion bzw. Methode aus genutzt werden.
Um diese Variablen als Eigenschaften oder Attribute einer CFC hervorzuheben nutze ich die gängige Praxis, dem Variablennamen eine weitere Ebene „instance“ hinzuzufügen.

Der Zugriff sollte allerdings prinzipiell über eine getter/setter-Methode erfolgen und nie direkt (eben nicht so wie in Beipiel 1. und 2.).
Bis auf die Ausnahme das sie evtl. in der ini()-Methode gesetzt werden, denn ich bin schreibfaul und möchte in diesem Fall einfach keine „setDatasource()“-Methode, sondern übergebe den Namen der Datasource einfach gleich der init()-Methode als Parameter mit:

Hinzu kommt das ALLE Variablen im variables-Scope als Parameter per cfArgument übergeben werden sollten, um die Unabhängigkeit einer CFC zu gewährleisten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Related Posts

Warum Erklärung keine Religion braucht

Warum Erklärung keine Religion braucht Viele Menschen glauben nicht aus Überzeugung, sondern weil sie denken, dass ohne Religion grundlegende Fragen unbeantwortet bleiben. Dieser Beitrag zeigt

Get in touch

872 Arch Ave.
Chaska, Palo Alto, CA 55318
hello@example.com
ph: +1.123.434.965

Business inquiries

hello@example.com
ph: +1.321.989.645