autoload.phpを使用してデータベースを自動ロードするにはどうすればよいですか?
もちろん、私はすでに自動読み込みを取得しています...それは簡単な部分です。
ただし、データベースが接続されているかどうかを確認し、接続されていない場合は、「申し訳ありませんが、データベースは現在利用できません」などの特定のページを表示することもできます。
それは私が作らなければならないある種のカスタムフックでなければならないでしょうか?
autoload.phpを使用してデータベースを自動ロードするにはどうすればよいですか?
もちろん、私はすでに自動読み込みを取得しています...それは簡単な部分です。
ただし、データベースが接続されているかどうかを確認し、接続されていない場合は、「申し訳ありませんが、データベースは現在利用できません」などの特定のページを表示することもできます。
それは私が作らなければならないある種のカスタムフックでなければならないでしょうか?
でエラーテンプレートを編集して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
定数を利用して、開発モードで有用なエラーを表示したり、本番環境でユーザーフレンドリーなエラーを表示したりできます。
もちろん、データベースに接続できない場合、それは早急な対応が必要な大きな問題です。