Есть ли разница между этими компонентами ColdFusion? - PullRequest
4 голосов
/ 09 января 2012

Я знаю, что результат такой же, но есть ли реальная разница?Может скорость или что-то?

component {

 remote function getMath(){ 

    math = 2 + 2;   

    return math;
  }

}

или

<cfcomponent>

  <cfscript>

    remote function getMath(){  

        math = 2 + 2;   

        return math;
    }

  </cfscript>   

</cfcomponent>

или

<cfcomponent>

  <cffunction name="getMath" access="remote">

      <cfscript>

            math = 2 + 2;   

            return math;

      </cfscript>   

  </cffunction>             

</cfcomponent>

Ответы [ 4 ]

5 голосов
/ 09 января 2012

Не особенно.

Версия 3, полные теги, будут обратно совместимы с ColdFusion 8 и версиями сервера ColdFusion с открытым исходным кодом, например. Railo или OpenBD.

Версия 2 не является чем-то или ничем.

Версия 1 - это полная версия скрипта ColdFusion 9.

Я бы порекомендовал вам выбрать между первой и последней версиями и придерживаться его. Версия 2 не имеет обратной совместимости с coldfusion 8 и не является ни тегом, ни скриптом. Такое кодирование быстро испортится.

2 голосов
/ 10 января 2012

С точки зрения скорости выполнения все они компилируются в один и тот же байт-код, поэтому должны быть идентичны.

По количеству набираемых символов (исключая разрывы строк / табуляции):

например, 1: 64

например, 2: 100

например, 3: 129

Если вы используете Adobe CF9, перейдите к варианту 1. Это гораздо более кратко. Вы можете в значительной степени сделать все в <cfscript> в наши дни.

Если вы хотите проверить скомпилированный байт-код для каждого, включите сохранение файлов .class в вашем cf admin и просматривайте файлы в / Classes dir с помощью декомпилятора. например. JD-Гуй

2 голосов
/ 09 января 2012

Если вы планируете писать все в сценарии, то пример 1 - это путь.

Вы можете делать в скрипте все, что пожелаете, а если чего-то не хватает, вы можете написать CFC, который будет реализовывать недостающие функциональные возможности, а затем вызвать его с новым синтаксисом.

Если бы вы начали все заново с новой кодовой базы, я бы старался избегать любых тегов вместе, таким образом, вариант 1.

1 голос
/ 10 января 2012

Cfscript, вероятно, немного быстрее и более совместим с другими языками, в то время как подход проще (скрывает сложность) и более похож на.

CF начинался как базовый язык и эволюционировал, чтобы включать полныйстиль сценария, альтернативный подходу.

Различия - это вопрос стиля разработчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...