Parfois, il est nécessaire d'écrire un code différent pour Adobe ColdFusion vs Railo vs OpenBD, en raison de différences dans l'implémentation.Quelle est la meilleure façon d'écrire du code CFML spécifique au moteur?
Est-ce que les gens ont une méthode spécifique qu'ils utilisent pour cela?
Par exemple, la mise sous tension ProductName est une option:
<cfswitch expression="#Server.ColdFusion.ProductName#">
<cfcase value="ColdFusion Server">
...
</cfcase>
<cfcase value="Railo">
...
</cfcase>
<cfcase value="BlueDragon">
...
</cfcase>
</cfswitch>
Est-ce que la meilleure façon, ou peut-on suggérer quelque chose de mieux?
J'ai seulement développé pour courir sur le serveur de Coldfusion. Quelles sont les différences dans les serveurs d'applications que l'on devrait coder? – Jay
Dans la plupart des cas, il n'y a pas de quoi s'inquiéter, puisque Railo et OpenBD sont généralement compatibles avec les fonctionnalités d'ACF. Le problème vient quand il y a un bug dans l'un d'entre eux, qui doit être travaillé de manière à interrompre ou ralentir les moteurs sans le bug. La gestion par ACF de 'expandPath' relève de cette catégorie dans certaines situations (par exemple, lorsqu'elle est appliquée à des chemins absolus, ou en utilisant des barres obliques de fin sur Apache). [suite ...] –
Je suppose que cette situation peut également se produire avec des fonctionnalités spécifiques au fournisseur. (Par exemple, vous utilisez peut-être une bibliothèque tierce avec ACF/OpenBD pour imiter cfvideo de Railo, mais si cette bibliothèque ne possède pas l'une des fonctionnalités de cfvideo, vous ne voudrez pas l'utiliser dans tous les cas. à cela à travers tous les moteurs.) –