我的代碼庫存在問題。爲了將數據庫數據轉換爲導航並具有活動元素等,我構建了一個庫類CI_Navigation()。 它工作得很好,我只有一個問題。CodeIgniter庫多個實例
經常在一個具有相應的網頁但分離導航例如頂部的主導航和副導航。爲了解決這個問題,我可以用一個參數來初始化我的類,告訴它該導航要保存哪個級別。 我會例如做這樣的事情。
$this->load->library('Navigation');
$main = $this->navigation->build(array('levels'=>array(0)));
$sub = $this->navigation->build(array('levels'=>array(1,2)));
正如你所期望這是行不通的,因爲在類中的數據保持它被建造的第一個呼叫分配的方式。
可悲的是CI中圖書館是單身(是嗎?這是我讀)。所以我不能初始化它兩次,如:
$this->load->library('Navigation','','main');
$this->load->library('Navigation','',sub);
你有什麼想法我可以克服這個問題。
它應該工作,如果我會用數組在類權使用的變量? 例如爲選項而不是使用$ this->選項,我將不得不動態創建$ this - > $ option [0],$ this - > $ option [1]。
這是行不通的?我目前無法測試,但今晚會這樣做。但這不是一個非常優雅的方式,那麼有沒有更好的方法來解決這個問題?有什麼辦法可以多次初始化圖書館嗎?
在此先感謝你們。
歐凱,謝謝你, 第一個解決方案是關於我的想法,所以我會嘗試一下,讓你知道它是否有效。無論如何感謝您的回答。 – 2010-06-01 12:55:03
是的,它的工作原理。完美,非常感謝。 我實際上是在討論使用選項數組的第一個版本。我沒有嘗試其他方法。 – 2010-06-01 18:26:12
非常好,我很高興它爲你工作! – Kurucu 2010-06-01 20:25:54