Мне кажется разумным использовать $ _ в качестве префикса. Конечно, вы также можете рассмотреть возможность предоставления своим функциям собственного «пространства имен», либо путем включения в пользовательскую структуру области видимости, например, «UDF», с получением функции с именем, например «UDF.val ()»; Кроме того, вы можете собрать их вместе в CFC и получить к ним доступ как к компонентным методам. В любом случае вы были бы в безопасности от конфликтов имен.
редактировать
Чтобы проверить только что сделанный вами комментарий относительно пользовательских функций с тем же именем, что и у встроенной функции, я провел небольшой тест, чтобы проверить, так ли это. Похоже, что вы на самом деле можете создавать функции с тем же именем, что и встроенные, если они находятся в пределах настраиваемой области:
<cffunction name="foo">
<cfreturn "bar">
</cffunction>
<cfset udf = {}>
<cfset udf.IsDefined = foo>
<cfoutput>#udf.IsDefined()#</cfoutput>
Этот код выводит "bar".
Или, если вам нравится подход CFC:
foo.cfc
component {
function IsDefined()
{
return "blah";
}
}
И вызывающий код:
<cfset udf2 = createObject("component", "foo")>
<cfoutput>#udf2.isDefined()#</cfoutput>