我剛剛使用HMVC從標準CI切換到Codeigniter Skeleton。我正在嘗試檢查用戶是否已登錄並根據狀態顯示菜單項。檢查用戶是否已登錄 - 使用Codeigniter HMVC的Ion Auth
此代碼對標準CI與ion_auth:
<ul class="nav navbar-nav pull-right">
<!-- User Tab -->
<?php if (!$this->ion_auth->logged_in()): ?>
<li><a href="<?php echo site_url('auth/login'); ?>">Log in</a></li>
<?php else: ?>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
My Account <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="<?php echo site_url('auth/logout'); ?>">Logout</a></li>
</ul>
</li>
<?php endif ?>
</ul>
如果我用這個與HMVC和ion_auth,我得到以下錯誤:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI::$ion_auth
Filename: MX/Loader.php
Line Number: 279
Fatal error: Call to a member function logged_in() on a non-object in C:\wamp\www\myapp\application\views\header.php on line 59
我試着加入ion_auth庫到autoload.php,但是當點擊鏈接或使用任何ion_auth路由時,我得到一個「Can not redeclare class Ion_auth」錯誤。
如果您已經聲明瞭具有相同名稱的類,則會出現此類錯誤。確保你沒有加載庫兩次? –
我只在autoload.php中加載一次,如果我從那裏刪除它,我得到一個未定義的錯誤,如上所示。 –