2012-04-16 5 views
1

が存在するかどうかをチェックする機能があります。CodeIgniterの自動ロードDB、しかし、接続は、私は</p> <p>をautoload.php使用して、データベースは、私はすでに当然の自動ロードを得ました...それは簡単な部分だ自動ロードする方法を

また、DBが接続されているかどうかを確認したり、そうでない場合は、「申し訳ありませんがデータベースは現在使用できません。

カスタムフックを作成する必要がありますか?

+0

データベースに接続できない場合は、エラーがスローされ、続行されません。あなたは何とかそのエラーメッセージを無効にする必要があります。 – Broncha

答えて

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にする必要があります。接続チェック後にMY_Controllerクラスの__construct()にデータベースクラスをロードするだけで済みます。あなたがしたい場合は、ちょうどindex.phpの最初の行でそれを行うことができます。

ただし、あなたが探しているものは言語ファイルに含まれている可能性があります。見てください:
system/language/english/db_lang.php
あなたが同じ場所に独自のファイルを作成する場合は、代わりに/system/applicationで、あなただけの適切な言語ライン(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定数を利用して、開発モードで有用なエラーを表示し、プロダクションでユーザーフレンドリーなものを表示することができます。

もちろん、データベースに接続できない場合は、すぐに注意が必要な大きな問題です。

+0

それはいくつかの点で接続していないためにそれをしていない、私はそれを学ぶことができますので(私が作っているサイトは公開されません) – unlucky4ever

関連する問題