Что делает CFEXIT внутри функции в CFC? - PullRequest
4 голосов
/ 27 июля 2011

Что делает <cfexit> внутри функции, внутри cfc?

Это то же самое, что и <cfabort>?

Я занимаюсь рефакторингом какого-то устаревшего кода и задаюсь вопросом, нужно ли мне уделить ему особое внимание ...

Спасибо.

1 Ответ

8 голосов
/ 27 июля 2011

Я помню, как ведет себя базовый <cfexit>:

  1. При использовании в CFC, cfexit выходит из функции cfc.Но обработка вызывающей страницы продолжается.
  2. Если внутри функции, но НЕ внутри cfc, то обработка прерывается.

Обновление: Я только что подтвердил это поведение в CF9.0.1

Результаты (с использованием cfexit)

Start calling page 
Called test()
Finish calling page 
Called on requestEnd

Результаты (с использованием cfabort)

Start calling page 
Called test()
Called on requestEnd

Test.cfm

Start calling page <br />
<cfset createObject("component", "Foo").test()>
Finish calling page <br />

Foo.cfc

<cfcomponent>
    <cffunction name="test" output="true">
        Called test()<br />
        <cfexit>
    </cffunction>
</cfcomponent>
...