Frage

Was ist der Unterschied zwischen diesen beiden Codeblöcken, wenn sie direkt nach einem cffunction-Tag aufgerufen werden:

<cfparam name="bork_bork_bork" default="false">

<cfargument name="bork_bork_bork" required="false" default="false">
War es hilfreich?

Lösung

<cfparam>, stellt bei Verwendung mit dem Standardattribut sicher, dass eine Variable vorhanden ist.Da kein Bereich angegeben ist, bork_bork_bork wird in die aufgenommen Variables Umfang.

<cfargument> wird verwendet, um Argumente an eine Funktion zu übergeben.Diese Werte werden im gespeichert Arguments Umfang.Sie würden auf den Wert zugreifen mit arguments.bork_bork_bork.

Beachten Sie, dass arguments.bork_bork_bork Und bork_bork_bork sind nicht das Gleiche.Der Umfang von arguments ist nur innerhalb der Funktion, der andere wird in der gespeichert Variables Gültigkeitsbereich und ist überall auf der Seite gültig (obwohl ich nicht empfehlen würde, es auf diese Weise zu codieren).

Andere Tipps

cfparam hat nichts mit Funktionen zu tun.Ich kann sehen, dass dies verwirrend ist, da Param / Argument in den meisten Sprachen austauschbare Wörter sind.Denken Sie daran, dass benutzerdefinierte Funktionen bis zur Version 5 nicht zu CF hinzugefügt wurden, sodass CFARAM kein Konflikt aufgetreten ist, um Variablen zu initialisieren.Darüber hinaus hat das CFARAM-Tag wahrscheinlich seinen Namen von der jetzt veralteten Funktion, Parameterexists (oder umgekehrt - zu der Zeit, in der ich in CF, auf Version 4.0 (1999) kam, diese Funktion bereits veraltet war, also habe ich die Geschichte zurückgezogenes)

cfparam ist eine Möglichkeit, einen Standard für jede Variable einzustellen, wenn die Variable nicht bereits vorhanden ist.Es ist eine Abkürzung, um folgendes zu tun: generasacodicetagpre.

cfargument ist nur nach einem öffnenden Tag verwendbar, um ein Argument zu definieren, das an eine CFC-Funktion oder eine benutzerdefinierte Funktion übergeben wird.

Von dem, was ich erinnere, kann zwischen dem Tag des CFFunction-Tags und des Kfargument-Tags nichts existieren, sodass sie direkt nach dem Cffunction-Tag erscheinen müssen.

Von der Funktion von der Funktion, auf das Sie über die Argumente Scope {arguments.bork_bork_bork} oder über ein Array {Argumente 1 }

cfparam stellt nur sicher, dass die Variable auf der Anforderung zur Verfügung steht, nicht anstelle von CFARGUT.Für weitere Lesen Check out:

cfargument

Verwenden der Argumente Umfang als Array .

Definieren von Funktionen mithilfe des CFFunction-Tags

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top