Как загрузить автозагрузку базы данных с помощью 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
чтобы показать полезные ошибки в режиме разработки и показать удобные в эксплуатации.
Конечно, если вы не можете подключиться к своей базе данных – это серьезная проблема, которая требует немедленного внимания.