folder,DTML document,DTML method,script是四種Zope中最常見的對象,那麼它們之間有什麼聯系呢?下面是我的一點點看法,請指教。
Zope是一個對象數據庫,在Zope下進行開發時,你實現在處理一個個的對象,這樣對象有著不同的類型。Zope對對象的管理是采用象 eXPlore文件管理器的目錄/文件的樹型結構的管理方式。這樣folder是基本的對象分類與存放的地方。但folder本身又是一個對象,你可以列出一個folder中的所有對象來。
DTML document是基本的內容表現對象,它具有唯一的id和屬性。
DTML Method與DTML Document差不多,不同之處它沒有自已的屬性,而且在使用某此方法時使用的是所在folder對象。
script就是用python或perl編寫的程序。
如果以一種對象的觀點來看這些東西的話,可以這樣理解
folder #對象
-DTML Document #folder的屬性,子對象
-folder #folder的子類
-DTML Method #folder的方法
--script #folder的方法
在通過url訪問對象時,根據url所描述的路徑先找到最底層的對象,然後查找這個對象的方法與url是否一致,如果沒有查找所在的 folder,有無DTML Method和script,如果還沒有,則向上級目錄進行查找。因此如果我們將folder做為一個大對象來理解的話,DTML Document,子folder為它的屬性,其中子folder也可以看成是folder的子類。而DTML Method和script則為folder的方法。從根folder開始找到它所包含的子folder的過程叫做URL traversal(url遍歷),從子類(子folder或對象)查找父類(上級folder)的方法或屬性的過程叫做acquisition(獲取)。