2012-04-16 3 views
1

존재 여부를 확인 할 수있는 능력을 가지고 어떻게 내가 이미 코스의 자동 로딩 ... 그 쉬운 부분을 가지고 CodeIgniter의 자동로드 DB, 그러나 연결이

을 autoload.php 사용하여 데이터베이스를 자동로드합니다.

또한 데이터베이스에 연결되어 있는지 확인하고, 그렇지 않은 경우 "죄송하지만 현재 데이터베이스를 사용할 수 없습니다."와 같은 특정 페이지를 표시 할 수 있습니다.

내가해야 할 일종의 사용자 지정 고리가 있어야합니까?

+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이어야합니다. 연결 확인을 수행 한 후 클래스의 __construct()에 데이터베이스 클래스를로드하면됩니다. 원한다면 index.php의 첫 번째 줄에서 올바르게 처리 할 수도 있습니다.

그러나 내가 원하는 것은 언어 파일에있을 가능성이 있습니다. 다음을보십시오 :
system/language/english/db_lang.php.
같은 장소에 자신의 파일을 작성하는 경우, 대신 /system/application에, 당신은 단지 해당 언어 라인 (들)을 다시 작성할 수 있습니다 :

// $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