Обновление Coldfusion 8 -> 9, функции больше не работают

ПОМОЩЬ!!

Просто перенос сайта с одного сервера на другой, версия coldfusion меняется с cf8 на cf9 [linux/centos]

этот код работал раньше:

cfinclude('../SQL/contact.sql.cfc');
form.phone = unFormatPhone(form.phone);
contactID = InsertContact(form);

В приложенном файле есть:

<cfcomponent output="false" >
<!--- -------------------------------- insert -------------------------------- --->
<cffunction name="InsertContact" returntype="numeric" output="false" access="public" >

теперь я получаю сообщение об ошибке при просмотре страниц:

Variable INSERTCONTACT is undefined.


The error occurred in /var/www/vhosts/xxxxxx.com/httpdocs/Assets/XHTML/buy-my-car.cfm: line 54
Called from /var/www/vhosts/newride.ca/httpdocs/Application.cfc: line 232
Called from /var/www/vhosts/newride.ca/httpdocs/Application.cfc: line 230
Called from /var/www/vhosts/newride.ca/httpdocs/Application.cfc: line 162
52 :            cfinclude('../SQL/contact.sql.cfc');
53 :            form.phone = unFormatPhone(form.phone);
54 :            contactID = InsertContact(form);
55 :            
56 :            //insert vehicle with app id

Что здесь происходит? найден включенный файл, есть ли какая-то разница между двумя версиями, которая вызывает это?


person Sean Kimball    schedule 11.08.2012    source источник
comment
Не могли бы вы уточнить, что вы делаете, ВКЛЮЧАЯ CFC? Я удивлен, что работает на любой версии CF.   -  person Adam Cameron    schedule 12.08.2012
comment
Я предполагаю, что он использует cfc как набор инструментов. Это работает даже на Райло, как бы странно это ни звучало.   -  person Paul    schedule 12.08.2012
comment
Интересно. Я действительно не думал, что это разрешено.   -  person Bill Moniz    schedule 12.08.2012
comment
Привет, @Paul, да, я понял. Я скорее имел в виду почему? Я имею в виду, в отличие от использования CFC по назначению.   -  person Adam Cameron    schedule 12.08.2012
comment
Это не мой код, похоже, что cfc в основном вызываются, но иногда [как указано выше] включаются, когда кто-то ленится. Я переместил несколько из них, где все, что вам нужно сделать, это закомментировать тег cfcomponent в файле cfc.   -  person Sean Kimball    schedule 12.08.2012


Ответы (2)


Вы уверены, что он включен? пытаться:

include "../SQL/contact.sql.cfc";
form.phone = unFormatPhone(form.phone);
contactID = InsertContact(form);
person Paul    schedule 11.08.2012

Ну, во-первых, я работал только с CF9, поэтому не могу комментировать, что вы раньше могли делать в CF8. Но в CF9 я почти уверен, что вы не можете использовать CFC таким образом. Ближе всего к тому, что вы делаете, будет временный вызов с использованием <cfinvoke>. См. здесь: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7db3.html

Но также обратите внимание на создание экземпляра cfc как объекта и последующий вызов методов для этого объекта. Мне нравится делать это так, поскольку это напоминает мне о других языках, таких как Java и C#.

person Bill Moniz    schedule 11.08.2012