Должен ли я назвать расширенный CFC или родительский CFC? - PullRequest
0 голосов
/ 20 декабря 2011

Я использую ColdFusion 9.1.2.

У меня есть CFC под названием orders.cfm. Это «родительский» ХФУ.

У меня есть еще один вызов CFC orderswrapup.cfc. Это расширение orders.cfc. В orderswrapup.cfc эта строка вверху:

<cfcomponent extends="orders">

Сейчас это не работает:

objOrders = createObject("component", "orders");
MyResult = objOrders .someMethodActuallyInOrdersWrapUpCFC();

Но это работает:

objOrders = createObject("component", "orderswrapup");
MyResult = objOrders .someMethodActuallyInOrdersWrapUpCFC();

Чтобы получить доступ к методам orderswrapup.cfc, могу ли я вызвать метод, как если бы он был "in" orders.cfc, или мне нужно вызвать его напрямую? Кажется, я должен быть в состоянии позвонить родителю, а не ребенку.

Ответы [ 2 ]

7 голосов
/ 20 декабря 2011

orderswrapup имеет доступ ко всем функциям order, когда вы создаете новый объект orderswrapup, так как orderswrapup является потомком заказа.

Вы определили orderswrapup.cfc для наследования всех функций orders.cfc, когда вы определили orderswrapup.cfc как <cfcomponent extends="orders"> Это позволяет вам вызывать любые функции в orders.cfc через orderswrapup.cfc, как если бы они были функциями внутри ордеров. CFC. Но orders.cfc не имеет определенной связи с orderswrapup.cfc, поэтому он не может вызывать функции внутри orderswrapup.cfc

Несколько хороших рецензий - http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=buildingComponents_30.html

0 голосов
/ 18 января 2012

Расширение cfcs стоит дорого ...

Если вам понадобится пройти более 3 уровней расширения, вы начнете замечать снижение производительности.

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