Looping

Cfloop pouvez également en boucle sur une requête, comme indiqué dans le code. N'oubliez pas que lorsque boucler sur les requêtes, vous n'entourent pas le nom d'objet de requête avec le signe dièse.

 SELECT CompanyName FROM entreprise  # # CompanyName 
  

Le cfloop dans les boucles de code sur chaque ligne présente dans l'objet de requête GetEmployees et sorties de chaque nom de compagnie dans la requête. Ce type de boucle est semblable à une déclaration cfoutput, sauf que cfloop peuvent être imbriquées à l'intérieur d'un autre cfoutput (quelque chose que vous ne pouvez pas faire avec cfoutput seul). Cfloop pouvez également en boucle sur une liste d'éléments, comme indiqué dans le code. Contrairement aux objets de requête, vous ne entourer le nom de la liste avec le signe dièse.

 # # theItem 

Ce type de boucle itère sur chaque élément dans une liste et exécute un bloc de code une seule fois pour chaque élément. Chaque fois que la boucle for, index contient la valeur de l'élément courant. Boucles liste sont examinées en détail plus tard. Ouvrages d'art sont des objets complexes que les collections de réserve de paires clé-valeur. Vous pouvez en boucle sur une structure avec cfloop en utilisant la syntaxe de la boucle de captage indiquées dans le code.

 TheKey # #: # mystruct [TheKey] # 

Collection est un autre terme pour la structure dans la plupart des langages informatiques, et c'est le terme utilisé pour ces objets dans COM. D'où le nom de cet attribut. Item contient le nom de la clé actuelle chaque fois que la boucle for. Seules les touches haut niveau sont pris en compte dans la boucle, donc si la structure sont montés en boucle a niché sur les structures, les clefs de ces structures imbriquées ne remplit pas question. Pour mettre en boucle sur une structure imbriquée, vous devez passer ses rythment la marche à l'attribut collection. Parfois, vous mai souhaitez mettre fin à une boucle de façon prématurée. Dans le code suivant, par exemple, ColdFusion termine la boucle de l'indice prématurément si un nombre aléatoire particulier qui se présente.

 # i # 

Le CFBREAK dans le code prématurément éclate de la cfloop. Si, pendant le cours normal de cette boucle, plageAleatoire () retournera 10, CFBREAK termine la boucle avant de i atteint 10. Une autre technique qui accompagne souvent CFBREAK est la boucle infinie, comme indiqué dans le code.

 Il s'agit d'une itération dans la boucle. 

Ce code fait la même chose que l'autre, mais dans moins de code. La condition = "true" de cfloop signifie que la boucle s'exécute toujours, mais CFBREAK charge la boucle afin de résilier le contrat si plageAleatoire () renvoie 10. Assurez-Just absolument sûr que votre code finit par atteindre l'état pause si vous choisissez de code en utilisant la technique de boucle infinie. (Juste le terme seul suffit à nous faire frissonner!) Certains éléments de votre site mai être communs à plusieurs pages, comme un en-tête standard ou pied de page. En utilisant CFINCLUDE, vous pouvez avoir un modèle qui contient l'en-tête ou pied de page de code, puis inclure ce modèle dans un autre, comme indiqué dans le code.

 C'est le contenu de la page principale. 

Avant de ColdFusion sorties Ceci est le contenu de la page principale., Il tire le code de header.cfm et footer.cfm dans le modèle actuel. Le code en-tête, donc, comparaît devant le texte Ceci est le contenu de la page principale. Et le code de bas de page apparaît après. Vous pouvez également utiliser des variables dans la source inclus, comme le montre l'exemple suivant:

Les voies de modèles inclus sont relatifs; les fichiers inclus dans le code aurait besoin d'exister dans le même répertoire que le modèle qui les appelait. Pour inclure un fichier dans un répertoire parent, utilisez la syntaxe suivante:

 

Les deux points dis ColdFusion pour remonter d'un niveau dans l'arborescence pour trouver un fichier. Vous ne pouvez pas utiliser un chemin de disque pour le modèle attribut de CFINCLUDE. Vous pouvez également inclure un fichier basé sur une cartographie de répertoire, comme suit:

Chaque fois que le modèle de chemin d'accès commence par une barre oblique, ColdFusion utilise les mappages répertoire défini dans ColdFusion Administrator pour localiser le modèle. Notre serveur a deux applications répertoire défini. Nos applications répertoire montrer que / cartes à C: \ Inetpub \ wwwroot \ et / pro / cartes à C: \ pro \. Supposons, par conséquent, que nous appelons le texte suivant:

ColdFusion inclut le fichier C: \ Inetpub \ wwwroot \ template.cfm car / cartes à la racine Web. Supposons maintenant que, d'autre part, nous demandons ce qui suit à la place:

ColdFusion inclut C: \ pro \ template.cfm car / pro / cartes à C: \ pro. Votre chemin d'accès peut aussi ajouter des répertoires après la cartographie, comme dans l'exemple suivant:

Aucun mappage existe pour myIncludes, de sorte ColdFusion inclut C: \ Inetpub \ wwwroot \ myIncludes \ template.cfm. Pour aider à consolider ces idées, jetez un œil à quelques exemples plus. Notre structure de répertoire se présente comme suit:

C: wwwroot inetpub Pro inclut commonfiles

Nous sommes dans C: \ Inetpub \ wwwroot \ CommonFiles \ mypage.cfm. La ligne suivante inclut C: \ Inetpub \ wwwroot \ CommonFiles \ myotherpage.cfm, qui raconte ColdFusion chercher des myotherpage.cfm dans le même répertoire que le courant template:

La ligne suivante inclut C: \ Inetpub \ wwwroot \ index.cfm, qui raconte ColdFusion pour remonter d'un répertoire et de chercher des index.cfm:

La ligne suivante inclut C: \ Inetpub \ wwwroot \ includes \ myinclude.cfm, qui raconte ColdFusion pour remonter d'un répertoire, se déplacer dans le sous-répertoire comprend à ce niveau, et ensuite chercher myinclude.cfm:

La ligne suivante inclut C: \ pro \ mytemplate.cfm. / pro / est définie comme une application dans ColdFusion Administrator, de sorte que le code suivant indique à ColdFusion de regarder dans le / pro / cartographie et la chasse aux mytemplate.cfm:

La ligne suivante inclut C: \ Inetpub \ wwwroot \ CommonFiles \ mytemplate.cfm. Non / commonfiles / cartographie existe, alors le code suivant indique ColdFusion à utiliser la cartographie /, regardez dans le sous-répertoire commonfiles, et Hunt puis pour mytemplate.cfm:

La ligne suivante inclut C: \ Inetpub \ wwwroot \ includes \ myinclude.cfm, qui raconte ColdFusion pour remonter de deux répertoires (dans C: \ Inetpub), se déplacer dans le sous-répertoire wwwroot, se déplacer dans le sous-répertoire comprend, et ensuite chercher myinclude . pcm:

Une bonne planification de la structure des répertoires à l'avance et l'application d'une cartographie de la racine à votre demande rend votre CFINCLUDEs facile de code. Vous utilisez CFLOCATION pour rediriger l'utilisateur après une action de base de données le code montre un exemple d'une telle redirection.

 DELETE FROM entreprise WHERE CompanyID # = Val (Form.CompanyID) # 
 

CFLOCATION prend deux attributs: URL et addtoken. url spécifie l'endroit où vous souhaitez rediriger l'utilisateur, et addtoken raconte ColdFusion s'il convient d'ajouter CFID et CFTOKEN à l'URL. CFID et CFTOKEN sont deux valeurs qui identifient la session d'un utilisateur. La chose importante à retenir à propos CFLOCATION est qu'elle crée une demande distincte sur le serveur, ce qui signifie qu'aucune des variables non persistants référencées avant la balise CFLOCATION sont accessibles dans le modèle de destination . Si vous voulez passer des variables à la page de destination, les ajouter à la fin de l'attribut url CFLOCATION comme paires clé-valeur. Rappelez-vous de ne jamais envoyer de données sécurisées (telles que numéros de carte de crédit) à travers le Web, car cette information est généralement collectées dans les journaux du serveur Web. Utilisez CFABORT à interrompre une demande, à un moment précis dans le traitement et envoyer la sortie créé jusqu'à ce point de retour au navigateur de l'utilisateur. CFABORT a un attribut optionnel, ShowError, comme le montre la ligne suivante:

Calling CFABORT avec l'attribut ShowError arrête le traitement de la page et jette aussi une erreur. L'attribut ShowError est rarement utilisé plus; CFTHROW est la méthode préférée de jeter définis par l'utilisateur des erreurs. Dans cet article vous avez appris les différentes constructions de contrôle de flux et les techniques disponibles dans ColdFusion et comment les utiliser efficacement. Vous disposez seulement quelques types de contrôle de flux: si les constructions, Switch constructions, de boucles, d'inclusions, redirections et avorte, mais ils apparaissent dans presque toutes les applications ColdFusion, donc vous devez les maîtriser si vous voulez devenir un développeur compétent.

un article présenté par Carmela Herandez


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article "Looping" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 530 users browsing the articles directory