我有以下的庫中autoload.php
:Codeigniter:更改一個控制器的自動加載庫?
我處處都需要會話LIB - 除了一個控制器,它僅引起麻煩。現在的問題是:
是否有可能不加載該特殊控制器的會話庫,或者是唯一的選項將其從自動加載中刪除並將其添加到每個單獨的控制器中?
我有以下的庫中autoload.php
:Codeigniter:更改一個控制器的自動加載庫?
我處處都需要會話LIB - 除了一個控制器,它僅引起麻煩。現在的問題是:
是否有可能不加載該特殊控制器的會話庫,或者是唯一的選項將其從自動加載中刪除並將其添加到每個單獨的控制器中?
從這個答案摘自:Link
自動裝車系統是爲網站的全球項目。
一個更清潔的解決方案可能是擴展控制器並在該新控制器的構造函數中加載 庫。然後,您的所有 控制器都從該控制器延伸,但您不需要加載該庫的那個控制器 - 那些控制器可以擴展原始的CI 控制器。
這應該帶你< 5分鐘實施,你將不必 破解任何東西。
然而,因爲它是一個session
而不是database
或uri
幫手,庫馬爾的答案可能爲你工作。
在你autoload.php:
$autoload['libraries'] = array('database');
$CI =& get_instance();
if ($CI->router->fetch_class()!='conflictingcontroller') array_push($autoload['libraries'], 'session');
沒有測試過,因爲我已經做了'長'版,但如果它的作品非常好。謝謝。它會稍後嘗試。 – Petra
我寧願修復** **一個問題,而不是與自動加載搞亂...... – Kyslik