Codeigniter AutoLoad DB, но есть возможность проверить, существует ли соединение

Как загрузить автозагрузку базы данных с помощью autoload.php

Конечно, я уже получил автозагрузку … это легкая часть.

Но также позволяет мне проверить, подключен ли db, а если нет, отобразить конкретную страницу с надписью «Мы сожалеем, но наша база данных в настоящее время недоступна».

Должен ли это быть какой-то пользовательский крючок, который я должен был бы сделать?

Вы можете изменить шаблон ошибки в 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 чтобы показать полезные ошибки в режиме разработки и показать удобные в эксплуатации.

Конечно, если вы не можете подключиться к своей базе данных – это серьезная проблема, которая требует немедленного внимания.