接下來,在這個構造函數里面又實例化了一個對象$this->ChannelUnit,代碼是$this->ChannelUnit = new ChannelUnit($arr['channel'], $aid);在實例化時,這二個參數一個是是剛才從微表查詢出來的模型id,一個是文檔id,我們再打開頻道模型單元類文件channelunit.class.php,里面又一個構造函數,我們再在這個函數里分析,請注意,現在我們已經到了channelunit.class.php這里面了。
這里面的構造函數通過模型id,查詢數據庫表#@_channeltype里面的所有字段,然后,又實例化了一個對象,代碼是$dtp = new DedeTagParse();我們再打開這個類對應的靜態模板引擎文件dedetag.class.php文件。這里面又一個構造函數,幸運的是這個構造函數里面沒有再引入其它類文件了。
再加到上一層調用實例化,即回到文件arc.archives.class.php里面,接著下面的代碼,又把類TypeLink進行實例化,這個類文件在文件include/typelink.class.php里面,當實例化$this->TypeLink = new TypeLink($arr['typeid']);時,參數是通過生成的文檔id查詢出來的欄目id。這個構造函數是通過這個欄目id,把我們網站后臺對應的模板提取出來,放入$this->TypeInfos數組里面,此構造函數到此結果,從上面可以看見,構造函數在初始化時很有用處。