2012-10-15 22 views
1

我來自PHP/MySQL背景,現在我作爲Coldfusion 9開發人員登陸了新的後端位置。我完全是Coldfusion的新手,所以爲了學習和測試的目的,我在本地主機上安裝了CF。在我的本地主機上,我已經設置並測試了ORM,它工作完美,並且不會干擾其他父文件夾。有一次,我上傳了我的Application.cfc文件,我們的主要服務器,在網站/ project89/CFC/ORM/設置Coldfusion ORM不會影響父文件夾

<cfcomponent> 
    <cfset this.name = "whatevername"> 
    <cfset this.ormenabled = "true"> 
    <cfset this.datasource = "name_db"> 
</cfcomponent> 

它影響了整個父服務器文件夾,包括主「網站」文件夾,在那裏我們有其他的ColdFusion項目這是之前構建的。
有沒有辦法將ORM設置爲僅影響其自己的子目錄,並且不要對其父文件夾進行任何更改? 示例,爲站點/項目啓用ORM89,並防止其他站點/項目**上的ORM。 任何幫助或建議將不勝感激,因爲我工作的地方沒有人熟悉ORM,我不能再次崩潰我們的服務器。
謝謝。

+0

所以是新的'Application.cfc'被稱爲另一個(父)文件?您可以在coldfusion admin中打開請求調試,並檢查哪些文件正在加載,如果您不確定 – AlexP

+0

我需要ORM只在文件夾「site/project89」及其子文件夾文件site/project89/folder1中啓用|網站/ project89/folder2等..對不起,如果我不清楚。 – crashtestxxx

+0

是位於'site/project89'文件夾中的'application.cfc'嗎?編輯:再次閱讀問題 - 你需要把它移到那裏。 – AlexP

回答

3

我想你遇到的問題涉及到你的應用程序的位置/ struture。

您需要將您的Application.cfc移動到site/project89的根部。

從ColdFusion的文檔:

當的ColdFusion開始處理請求時,它執行以下操作:

它搜索頁面的目錄名爲的Application.cfc文件。如果有一個存在 ,它將創建一個新的CFC實例,處理初始事件並停止搜索。 (ColdFusion的創建CFC的新 實例,並處理它的初始化代碼,每個 請求。)

如果請求的頁面的目錄不具有 的Application.cfc文件,它會檢查該目錄的Application.cfm 文件。如果存在,ColdFusion會在請求的頁面的開始處邏輯地包含Application.cfm 頁面,並且會進一步停止搜索 。如果請求的頁面的目錄中沒有 Application.cfc或Application.cfm文件,則ColdFusion將搜索 目錄樹並檢查每個目錄,首先檢查Application.cfc 文件,然後(如果找不到)應用程序.cfm頁面,直到 它到達根目錄(如C :)。

當它找到一個Application.cfc或Application.cfm文件時,它處理該頁面,並且 停止搜索。

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=appFramework_06.html(ColdFusion的8,但仍然相關)

+0

非常感謝你在星期五整天都在尋找這件事。我想我發現了我的問題。我需要爲其他項目使用默認模板,並且我看到有一個'application.cfm'文件已經存在。它可能與我的cfc文件衝突。 – crashtestxxx

1

我猜在「受影響」的情況下,您的意思是它正在尋找各處的模型CFC。如果這是真的,你可以嘗試通過限制模型的路徑來解決這個問題:

this.ormsettings.cfclocation = "path.to.models"; 
+0

所以通過聲明'this.ormsettings.cfclocation =「site/project89」;'它不會影響其他項目在site/project01中。等等?因爲其他項目有自己的數據庫來源,我不希望它們再次崩潰。對於這樣的問題抱歉,這是我第二週和CF一起玩。感謝您的幫助。 – crashtestxxx

+0

'this.ormsettings.cfclocation'是coldfusion搜索ORM **模型/實體**而不是'application.cfc'設置的位置,我不認爲這就是你以後的樣子。 – AlexP

相關問題