Не удается найти компонент из оператора cfinvoke
Мне был передан код ColdFusion из-за того, что кто-то покинул компанию, и мне было поручено вести эту работу Проблема в том, что в последний раз, когда я смотрел код ColdFusion, около 10 лет назад, я полностью потерян и начинаю с нуля.
Моя проблема в том, что я пытаюсь найти компонент или код и все, что вызывается в коде, показанном ниже.
<cfinvoke component="_admin_tools_kms" method="listKMSUsers" returnVariable="getKMSUsers">
<cfinvokeargument name="argFullAccount" value="1" />
</cfinvoke>
Я знаю, что это возвращает список пользователей системы, но я не могу найти точный код, выполняющий этот вызов. Должно ли это имя компонента "_admin_tools_kms" быть именем файла cfm где-нибудь или это может быть просто ссылочное имя, созданное каким-либо образом?
1 ответ
Давайте разберем это:
<cfinvoke
component="someComponent"
method="someFunction"
returnVariable="someVariable">
<cfinvokeargument name="someArgument" value="foo" />
</cfinvoke>
Атрибут component
это либо имя файла с .cfc
расширение или переменная, содержащая экземпляр этого компонента. Если бы это была переменная, на нее ссылались бы как #someComponent#
,
Если там просто простое значение, есть вероятность, что есть файл с именем someComponent.cfc
в той же папке.
Если там есть значение, разделенное точкой, например cfc.services.someComponent
,
- поищите папку в корне сети с именем
/cfc/
которая содержит другую папку/services/
в котором вы найдете файлsomeComponent.cfc
, - Если вы не видите эту папку, поищите отображение ColdFusion в корне
Application.cfc
файл, который создает псевдонимcfc
и сопоставляет его с нужными папками. - и если ЭТОГО там нет, то проверьте на своем веб-сервере псевдонимы папок или сопоставления, чтобы увидеть, что, черт возьми, сделал какой-то психопат, чтобы скрыть, где существует этот код.
НО, я предпочитаю делать простой текстовый поиск для метода, на который есть ссылка, а не для компонента. Эта функция может существовать в другом компоненте или файле, чем тот, на который ссылается.
Поскольку ХФУ может продлить другой ХФУ, может быть parentComponent.cfc
это someComponent
extends, который на самом деле содержит рассматриваемый метод. Хуже, файл someComponent.cfc
Могут быть включены другие файлы, где один содержит метод. Единственным недостатком является то, что функция называется что-то общее, как create
,