CodeIgniter - Hata İşleme
Çoğu zaman uygulamayı kullanırken hatalarla karşılaşırız. Hataların düzgün işlenmemesi kullanıcılar için çok can sıkıcıdır. CodeIgniter, kolay bir hata işleme mekanizması sağlar.
Hata mesajları geliştirme aşamasında kolaylıkla çözülebileceğinden, mesajların uygulama üretim modundan ziyade geliştirme modundayken görüntülenmesini istersiniz.
Uygulamanızın ortamı aşağıdaki satırdan değiştirilerek değiştirilebilir. index.phpdosya. Bu herhangi bir değere ayarlanabilir, ancak normalde bu amaç için kullanılan üç değer (geliştirme, test, üretim) vardır.
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
Farklı ortamlar, farklı hata raporlama seviyeleri gerektirecektir. Varsayılan olarak, geliştirme modu hataları gösterecek ve test ve canlı mod bunları gizleyecektir. CodeIgniter, hataları işlemek için aşağıda gösterildiği gibi üç işlev sağlar.
show_error() işlevi, hataları ekranın üst kısmında HTML biçiminde görüntüler.
Syntax |
show_error ( $ message, $ status_code, $ heading = 'Bir Hata Karşılaşıldı' ) |
Parameters |
|
Return Type |
karışık |
show_404() Var olmayan bir sayfaya erişmeye çalışıyorsanız, işlevi hata görüntüler.
Syntax |
show_404 ( $ sayfa = '', $ log_error = DOĞRU ) |
Parameters |
|
Return Type |
geçersiz |
log_message()işlevi, günlük mesajlarını yazmak için kullanılır. Bu, özel mesajlar yazmak istediğinizde kullanışlıdır.
Syntax |
log_message ( $ düzey, $ ileti, $ php_error = YANLIŞ ) |
Parameters |
|
Return Type |
geçersiz |
Günlük kaydı etkinleştirilebilir application/config/config.phpdosya. Aşağıda, eşik değerini ayarlayabileceğiniz config.php dosyasının ekran görüntüsü verilmiştir.
/*
|--------------------------------------------------------------------------------
| Error Logging Threshold
|--------------------------------------------------------------------------------
| You can enable error logging by setting a threshold over zero. The
| threshold determines what gets logged. Threshold options are:
|
| 0 = Disable logging, Error logging TURNED OFF
| 1 = Error Message (including PHP errors)
| 2 = Debug Message
| 3 = Informational Messages
| 4 = All Messages
|
| You can also pass an array with threshold levels to show individual error types
|
| array(2) = Debug Message, without Error Messages
| For a live site you'll usually only enable Errors (1) to be logged otherwise
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;
Günlük mesajlarını şurada bulabilirsiniz: application/log/. Günlük dosyalarını etkinleştirmeden önce bu dizinin yazılabilir olduğundan emin olun.
Hata mesajları için çeşitli şablonlar şurada bulunabilir: application/views/errors/cli veya application/views/errors/html.