Christian Castelli
a- a+

Riuso del codice e sviluppo di funzioni

RIUSO DEL CODICE E SVILUPPO DIFUNZIONI

Inclusione di file

L'inclusione dei files in ColdFusion viene resa sempliceattraverso il tag <cfinclude>, che ha unsolo attributo: template. Tale attributo punta al file daincludere. ColdFusion prima cerca il file nella directorycorrente e se non lo trova, lo cerca nelle directory mappatein ColdFusion Administrator.

<cfinclude template="path_del_file">

Si noti che un tag ColdFusion non può essere apertonel file chiamante e poi chiuso nel file che si va adincludere o vice versa. Il codice ColdFusion presente nelfile incluso deve essere sintatticamente valido in maniera asé stante.

Se i file inclusi sono presenti nella directory web root,possono essere acceduti come ogni altro comunissimo file. Sehanno estensione .inc allora il browser potrebbemostrarli come puro testo. Se si usano altre estensioni, ilbrowser potrebbe tentare di scaricare tali file. Se il fileche si va ad includere è un file ColdFusion el'utente punta il browser direttamente verso di esso, ilserver proverà a processare il file e potrebberitornare degli errori. Come precauzione, potreste volermettere i vostri file in una directory non pubblica. Questoimpedirà agli utenti di accedervi direttamente. .

Es. 1: index.cfm

<html>  <head>  <title>Inclusione di una barra laterale e di un footer</title>  <link href="Styles/Main.css" rel="stylesheet">  </head>    <body>  <cfinclude template="Includes/NavBar.cfm">    <div id="greeting">   <cfoutput>L'ora è #TimeFormat(Now(),"h:mm tt")# in data #DateFormat(Now(), "mmmm d, yyyy")#.</cfoutput>  </div>    <table align="center" cellpadding="10" cellspacing="0" width="100%" height="100%" id="hometable">  ---- Codice omesso ----</table>  <cfinclude template="Includes/Footer.cfm">    </body>  </html>

Application.cfm e OnRequestEnd.cfm

Ogni qualvolta viene richiesta una pagina ColdFusion,l'application server di ColdFusion controlla se nelladirectory corrente è presente un file denominatoApplication.cfm. Se tale file non èpresente nella directory corrente, ColdFusion lo cerca nelledirectory superiori fino alla directory root del file system.Non appena tale file viene trovato, ColdFusion sospende lasua ricerca e antepone tale file alla pagina richiesta.

Application.cfm viene usato spesso per iseguenti compiti:

  • Controllare lo stato delle variabili e settare il nome dell'applicazione con <cfapplication>;
  • settare le variabili globali di default;
  • settare la gestione degli errori con <cferror>.

Application.cfm non dovrebbe essere usato perincludere del codice da mostrare al browser, come un header.

Se e solo se viene trovato un fileApplication.cfm, ColdFusion cercheràanche un file denominato OnRequestEnd.cfm nellastessa directory: se lo trova lo includerà nellapagina richiesta. Tale file viene talvolta usato per scopi didebugging, mostrando informazioni utili per gli sviluppatorio effettuando azioni di logging per la pagina.


Funzioni definite dall'utente

Tali funzioni vengono usate per eseguire compiti comunipiù agevolmente e per rendere il codice modulare epiù leggibile.

Le funzioni vengono definite con il tag<cffunction>. Così come per lefunzioni integrate, tali funzioni possono avere degliargomenti. Gli argomenti vengono definiti attraverso il tag<cfargument>. Se non viene definito ilvalore di default per l'attributo default,allora l'argomento è obbligatorio.

<cffunction name="function_name" returntype="type"><cfargument name="arg" type="type" default="default"></cffunction>

Segue un esempio di una funzione per la somma di numeri. Sinoti che tali funzioni vengono richiamate nella stessaidentica maniera in cui vengono richiamate le funzioniintegrate di ColdFusion.

Es. 2: UDF.cfm

<html>  <head>  <title>Funzioni user-defined</title>  </head>    <body>  <cfset total = addNums(1)>  <cfoutput>#total#</cfoutput>  </body>  </html>    <cffunction name="addNums" returntype="numeric">   <cfargument name="num1" type="numeric">   <cfargument name="num2" type="numeric" default="0">   <cfargument name="num3" type="numeric" default="0">   <cfset sum=num1 + num2 + num3>   <cfreturn sum>  </cffunction>

Conclusioni

L'inclusione di file e la creazione di funzioni sono duemodi comuni di scrivere codice riusabile. Molto spesso glisviluppatori salveranno funzioni comuni in un file daincludere (ad esempio function.inc) in modo tale da avere ununico luogo in cui riporre le proprie funzioni per averle poia disposizione in tutte le parti del sito semplicementeincludendo il file che le contiene.



Ti potrebbe interessare anche

commenta la notizia