能力會如何使用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
,或者在完成連接檢查之後,您可以在MY_Controller
類的__construct()
中加載數據庫類。如果您願意,您甚至可以在index.php
的第一行中正確執行。
但是:我認爲你要找的可能是語言文件。看看:system/language/english/db_lang.php
。
如果您在同一個地方你自己的文件,但在/application
,而不是/system
,你可以重寫適當的語言線(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
常數在開發模式中顯示有用的錯誤,並在生產中顯示用戶友好的錯誤。
當然,如果您無法連接到您的數據庫 - 這是一個需要立即關注的重大問題。
不是因爲它沒有連接在某些點上,我只是這樣做,所以我可以學習(我正在製作的網站不會公開) – unlucky4ever 2012-04-16 04:48:33
如果它不能連接到數據庫,它會拋出錯誤,並不會繼續。你以某種方式需要重寫該錯誤消息。 – Broncha 2012-04-16 03:10:26