2011-04-17 82 views
0

两个问题:笨检查数据库连接,如果会议库加载

  1. 是否有笨的方式来检查,如果库已经加载?如果会话库已加载,我想显示一个用户特定的页面。

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

回答

1
  1. 上笨 找到this论坛:

    “如果你在装载机 图书馆看,在功能 _ci_load_class,你会看到,它会检查如果类已经 如果它被分配到一个新的 变量,只会再次加载它

    有趣的是,如果您加载 同一类中的多个次, 内存使用量不上去,虽然”

    所以,如果你调用$这个 - >负载>库(LIB_NAME)不止一次,它只会实际加载一次。这是从2009年开始,CI从 多次更新多次,所以不是 肯定它是否仍然如此。

  2. 我希望你的分贝永远不会下降。但是 如果它“$ CI-> db-> conn_id” 如果可以连接则返回true。

+0

关于#1,我不想加载我的会话类,而是我想显示一个视图文件,如果用户实际登录,但我不想加载会话类并创建它。有没有办法做到这一点? – Tony 2011-04-17 23:47:27

+0

我不认为服务器可以知道,除了使用cookies,这实质上是会话类,用户的登录页面。您需要维护用户的“状态”并根据登录状态显示差异页面。您可以通过设置自己的cookie来避免会话类,但是无法避免设置cookie。 – 2011-04-18 03:48:54

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; 

心连心..