Christian Castelli
a- a+

Riuso del codice e sviluppo di funzioni

RIUSO DEL CODICE E SVILUPPO DI FUNZIONI

Inclusione di file

L'inclusione dei files in ColdFusion viene resa semplice attraverso il tag <cfinclude>, che ha un solo attributo: template. Tale attributo punta al file da includere. ColdFusion prima cerca il file nella directory corrente e se non lo trova, lo cerca nelle directory mappate in ColdFusion Administrator.

<cfinclude template="path_del_file">

Si noti che un tag ColdFusion non può essere aperto nel file chiamante e poi chiuso nel file che si va ad includere o vice versa. Il codice ColdFusion presente nel file incluso deve essere sintatticamente valido in maniera a sé stante.

Se i file inclusi sono presenti nella directory web root, possono essere acceduti come ogni altro comunissimo file. Se hanno estensione .inc allora il browser potrebbe mostrarli come puro testo. Se si usano altre estensioni, il browser potrebbe tentare di scaricare tali file. Se il file che si va ad includere è un file ColdFusion e l'utente punta il browser direttamente verso di esso, il server proverà a processare il file e potrebbe ritornare degli errori. Come precauzione, potreste voler mettere i vostri file in una directory non pubblica. Questo impedirà 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 nella directory corrente è presente un file denominato Application.cfm. Se tale file non è presente nella directory corrente, ColdFusion lo cerca nelle directory superiori fino alla directory root del file system. Non appena tale file viene trovato, ColdFusion sospende la sua ricerca e antepone tale file alla pagina richiesta.

Application.cfm viene usato spesso per i seguenti 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 per includere del codice da mostrare al browser, come un header.

Se e solo se viene trovato un file Application.cfm, ColdFusion cercherà anche un file denominato OnRequestEnd.cfm nella stessa directory: se lo trova lo includerà nella pagina richiesta. Tale file viene talvolta usato per scopi di debugging, mostrando informazioni utili per gli sviluppatori o effettuando azioni di logging per la pagina.


Funzioni definite dall'utente

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

Le funzioni vengono definite con il tag <cffunction>. Così come per le funzioni integrate, tali funzioni possono avere degli argomenti. Gli argomenti vengono definiti attraverso il tag <cfargument>. Se non viene definito il valore 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. Si noti che tali funzioni vengono richiamate nella stessa identica maniera in cui vengono richiamate le funzioni integrate 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 due modi comuni di scrivere codice riusabile. Molto spesso gli sviluppatori salveranno funzioni comuni in un file da includere (ad esempio function.inc) in modo tale da avere un unico luogo in cui riporre le proprie funzioni per averle poi a disposizione in tutte le parti del sito semplicemente includendo il file che le contiene.



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Sara
Hai dubbi su questo articolo?