Domanda

Qual è la differenza tra questi due blocchi di codice, quando chiamato subito dopo un tag di riferimento:

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

<cfargument name="bork_bork_bork" required="false" default="false">
.

È stato utile?

Soluzione

<cfparam>, se utilizzato con l'attributo predefinito, garantirà che una variabile esista.Poiché non vi è alcun scopo specificato, bork_bork_bork viene inserito nell'ambito del Variables.

<cfargument> viene utilizzato per passare un argomento in una funzione.Questi valori sono memorizzati nell'ambito Arguments.Accederebbe al valore usando arguments.bork_bork_bork.

Nota che arguments.bork_bork_bork e bork_bork_bork non sono uguali.Lo scopo del arguments è solo all'interno della funzione, l'altro viene memorizzato nell'ambito Variables e sarà valido ovunque nella pagina (anche se non lo consiglierei di codificarlo in questo modo.)

Altri suggerimenti

CFPARAM non ha nulla a che fare con le funzioni.Posso vedere che questo è confuso, dato che Param / Argomento sono parole intercambiabili nella maggior parte delle lingue.Tieni presente che le funzioni definite dall'utente non sono state aggiunte a cf fino alla versione 5, quindi non c'era alcun conflitto nell'utilizzo di CFParam come un modo per inizializzare le variabili.Inoltre, il tag CFParam probabilmente ha disegnato il suo nome dalla funzione ormai obsoleta, parametrici () (o viceversa - quando sono entrato in cf, alla versione 4.0 (1999), quella funzione era già deprecata, quindi ho perso la storia dietroIT)

CFPARAM è un modo per impostare un valore predefinito per qualsiasi variabile se la variabile non esiste già.È una scorciatoia per fare quanto segue:

<cfif NOT isDefined('bork_bork_bork')>
    <cfset bork_bork_bork = 'myDefaultSetting'>
</cfif>
.

CFARGUMENTO è solo utilizzabile dopo un tag di apertura per definire un argomento passando su una funzione CFC o una funzione definita dall'utente.

Da quello che ricordo, nulla può esistere tra il tag cffunction e il tag cfargument, quindi devono apparire subito dopo il tag di riferimento.

Dall'interno della funzione accedere ad accedere a cfargument tramite gli argomenti scope {arguments.bork_bork_bork} o tramite un array {argomenti 1 }

CFPARAM garantirà solo la variabile è disponibile sulla richiesta non deve essere utilizzata al posto del cfargument.Per ulteriori lettura check out:

cfargument

usando lo scopo degli argomenti come array Definizione delle funzioni utilizzando il tag di riferimento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top