笨自动加载数据库,但如果连接存在要检查的能力(Codeigniter AutoLoad DB, Bu

2019-10-16 14:49发布

我将如何使用autoload.php自动加载数据库

我已经有了,当然自动加载...这是比较容易的部分。

但也让我检查,如果该数据库已经连接,如果没有,可以显示特定的网页说,像“很抱歉,我们的数据库是当前不可用。”

难道必须是某种自定义的钩子,我将不得不作出?

Answer 1:

您可以编辑在错误模板application/errors/error_db.php使用您的自定义消息。 也许使用ENVIRONMENT不变,做这样的事情:

<?php if (ENVIRONMENT === 'production'): ?>
  <p>We are sorry but our database is currently unavailable.</p>
<?php else: ?>
  <!-- default template with actual database error messages -->
<?php endif; ?>

否则,我想你可以用一个钩子。 它必须是至少pre_controller如果你是自动加载数据库类,想拦截的错误,或者你可以只加载数据库类的__construct() A的MY_Controller类做你的连接检查后。 你甚至可以做它的权利在第一线index.php如果你想。

不过我想你要寻找的可能是语言文件。 看一眼:
system/language/english/db_lang.php
如果您在同一个地方你自己的文件,但在/application ,而不是/system ,你可以重写适当的语言线(S):

// $lang['db_unable_to_connect'] = 'Unable to connect to your database server using the provided settings.';
$lang['db_unable_to_connect'] = 'We are sorry but our database is currently unavailable.';

...和公正的编辑错误模板中的CSS和/或标记。 再次,你可以利用的ENVIRONMENT不断展现在开发模式中非常有用的错误,并显示在生产用户友好的。

当然,如果您无法连接到你的数据库 - 这是一个需要立即关注的一个主要问题。



文章来源: Codeigniter AutoLoad DB, But have ability to check if connection exists