CodeIgniter检查数据库连接以及是否加载了会话库

时间:2011-04-17 23:29:09

标签: database codeigniter

两个问题:

  1. CodeIgniter中是否有办法检查是否已加载库?如果加载了会话库,我想显示一个特定于用户的页面。

  2. 如果我的数据库处于脱机状态且CodeIgniter无法连接,我如何向用户显示自定义消息而不是默认错误页面?

2 个答案:

答案 0 :(得分:1)

  1. 在Codeigniter上找到this 论坛:

    “如果你看看装载机 库,在函数中 _ci_load_class,你会看到它检查该类是否已经存在 已加载,只会加载它 再次,如果它被分配给一个新的 变量

    有趣的是,如果你加载 同一个班多次, 内存使用确实会增加“

    因此,如果您不止一次致电$this->load->library(LIB_NAME),它实际上只会加载一次。这是从2009年开始和CI一直在 从那以后更新很多次,所以没有 确定它是否仍然是真的。

  2. 我希望你的数据库永远不会失败。但 如果它$CI->db->conn_id 如果可以连接,则返回true。

答案 1 :(得分:1)

不知道这是最好的(甚至是好的)练习,但我发现使用了类似

的东西
if(isset($CI->session)):
    //show user specific page
endif;
到目前为止,

对我有用,例如。自从我尝试它以来的最后5分钟=)。在我的情况下,我不想要调试消息:

Session class already loaded. Second attempt ignored.

污染了我的日志,因此我使用了:

if(!isset($CI->session)):
    $CI->load->library('session');
endif;

HTH ..