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

  • $message( karışık ) - Hata mesajı

  • $status_code( int ) - HTTP Yanıtı durum kodu

  • $heading( string ) - Hata sayfası başlığı

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

  • $page( string ) - URI dizesi

  • $log_error( bool ) - Hatanın günlüğe kaydedilip kaydedilmeyeceği

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

  • $level( string ) - Günlük seviyesi: 'hata', 'hata ayıklama' veya 'bilgi'

  • $message( string ) - Günlüğe kaydedilecek mesaj

  • $php_error( bool ) - Yerel bir PHP hata mesajı günlüğe kaydedip kaydetmediğimiz

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.