cela semble être une question simple mais je n'ai pas trouvé la réponse. Si j'ai un chemin de composant "pathToComponent", comment puis-je valider qu'il est valide? En ce moment j'ai recours à essayer/attraper, mais sûrement il y a une manière plus élégante?Comment valider un nom de chemin de composant dans ColdFusion/Lucee
boolean function isValidComponent(required string pathToComponent){
try{
var metaData = getComponentMetaData(arguments.pathToComponent);
return true;
}
catch(any e){
return false;
}
}
Merci!
Est-ce le pathToComponent en passant par un chemin de fichier réel ou une notation par points? Si un chemin réel vous pouvez faire soit un directoryExists() ou un fichierExists(). Si c'est la notation par points, vous pouvez remplacer les points par des barres obliques et fileExists() ... –
J'étais inquiet pour les situations où pathToComponent n'est pas le chemin complet, mais par rapport au composant appelant ou enfant. Cela le briserait. Mais peut-être que je devrais juste exiger que pathToComponent soit un chemin complet. – user2943775
Si vous faites référence à la possibilité de créer une instance d'un composant, l'approche try/catch est la meilleure. Vous devriez cependant envisager de mettre en cache le résultat (côté serveur). – Alex