2016-02-19 44 views
2

我建立CI中的應用和我的應用程序文件夾層次結構是這樣的:笨:同時增加服務器錯誤命名空間控制器類

|-controller 
    |-admin 
     |-dashboard 

我要儀表盤添加到namespace admin,所以我這樣做:

defined('BASEPATH') OR exit('No direct script access allowed'); 
namespace admin; 
class Dashboard extends MY_Controller { 
    //constructor and some methods 
} 

的問題是,每當我試圖從URI localhost/myapp/admin/dashboard訪問儀表類,我在瀏覽器上像這樣得到錯誤:

Server error 

500 

但是,如果我註釋掉行namespace admin;,它運行沒有任何錯誤。

爲什麼命名空間創建這樣的內部服務器錯誤?

如何防止在codeigniter中爲控制器類使用名稱空間時出現此類錯誤?

+0

首先檢查你正在使用哪個版本的PHP和codeigniter,並讓我們知道。 根據版本,CodeIgniter不支持名稱空間。如果你想使用命名空間PHP版本必須> = 5.3.0 Codeigniter不使用命名空間,因爲它被寫入支持PHP 4 –

+0

讓我知道如果這可以幫助你 –

+0

php 5.6和CI版本3.0.1 –

回答

1

原因是Codeigniter本身不支持名稱空間。他們這樣做是爲了允許Codeigniter for PHP 4的向後兼容性。命名空間僅在PHP 5.3.0和更高版本中可用。

1

首先檢查您正在使用的PHP和codeigniter的版本,並告訴我們。

CodeIgniter根據版本不支持名稱空間。如果你想使用命名空間php版本必須> = 5.3.0 Codeigniter不使用命名空間,因爲它被寫入支持php 4

如果你必須使用命名空間,那麼我將你鏈接到Stack Overflow Similar Problem link Upvoted使用Codeigniter使用名稱空間的參考通過編輯配置。你可以嘗試,但默認情況下,它不支持它

+0

更多的參考,您可以看到的東西在鏈接添加到笨3 下面 給出https://www.reddit.com/r/PHP/comments/30u0w9/codeigniter_3_is_out/ –

相關問題