1

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

当然,我已经获得了自动加载功能……这很容易。

但也允许我检查数据库是否已连接,如果没有,则显示特定页面,显示“我们很抱歉,但我们的数据库当前不可用”之类的内容。

它必须是某种我必须制作的自定义钩子吗?

4

1 回答 1

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()到类中。MY_Controller如果你愿意的话,你甚至可以在第一行直接做index.php

但是:我认为您要查找的内容可能在语言文件中。看看:
system/language/english/db_lang.php
如果您在同一个地方创建自己的文件,而/application不是/system,您可以重写适当的语言行:

// $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常量在开发模式中显示有用的错误,并在生产中显示用户友好的错误。

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

于 2012-04-16T04:42:52.793 回答