CodeIgniter একটি শক্তিশালী Error Handling সিস্টেম প্রদান করে যা ডেভেলপারদের অ্যাপ্লিকেশন ব্যবহারের সময় ত্রুটি শনাক্ত করতে এবং সেগুলি পরিচালনা করতে সহায়তা করে। এর মাধ্যমে, আপনি ইস্যুগুলো দ্রুত চিহ্নিত এবং সমাধান করতে পারবেন।
CodeIgniter-এ Built-in Error Handling ব্যবহারের জন্য বিভিন্ন পদ্ধতি এবং কনফিগারেশন সেটআপ রয়েছে, যা অ্যাপ্লিকেশনের পারফরম্যান্স এবং সিকিউরিটি উন্নত করে।
CodeIgniter ত্রুটির লগ রাখার জন্য একটি শক্তিশালী সিস্টেম সরবরাহ করে। এটি সাধারণত application/logs/
ফোল্ডারে ত্রুটি লগ ফাইল সংরক্ষণ করে।
Error Logging চালু করতে, application/config/config.php
ফাইলে $config['log_threshold']
প্যারামিটারটি কনফিগার করতে হবে।
log_threshold | বর্ণনা |
---|---|
0 | ত্রুটি লগিং নিষ্ক্রিয় |
1 | শুধুমাত্র Error (Error level) লগ করা হবে |
2 | Error এবং Debugging (Debug level) লগ করা হবে |
3 | Error, Debugging এবং Informational logs (Info level) |
4 | সমস্ত লগ তথ্য (Error, Debugging, Info, and All messages) |
// config.php ফাইল
$config['log_threshold'] = 1; // শুধুমাত্র Error লগ করা হবে
ত্রুটি লগগুলি application/logs/
ফোল্ডারে একটি .php
ফাইল হিসেবে সংরক্ষিত থাকে, যেমন log-YYYY-MM-DD.php
।
CodeIgniter বিভিন্ন Error Level সাপোর্ট করে যা বিভিন্ন ধরনের ত্রুটি রিপোর্ট এবং লগ করতে সাহায্য করে। এগুলি application/config/config.php
ফাইলে কনফিগার করা যেতে পারে।
Error Level | বর্ণনা |
---|---|
ERROR | সাধারণ ত্রুটি, যেমন সার্ভার সমস্যা বা ডাটাবেস সংযোগ ত্রুটি। |
DEBUG | ডিবাগিংয়ের জন্য লোড হওয়া তথ্য (সামান্য সমস্যা)। |
INFO | সাধারণ তথ্য যা ব্যবহারকারীর জন্য উপকারী হতে পারে। |
ALL | সমস্ত স্তরের ত্রুটি এবং লগ তথ্য প্রদর্শন করবে। |
আপনি log_threshold
প্যারামিটার দ্বারা এই লেভেল সেট করতে পারেন।
আপনার নিজের কাস্টম ত্রুটি পরিচালনা করতে আপনি set_error_handler()
ফাংশন ব্যবহার করতে পারেন।
// application/config/errors.php
defined('BASEPATH') OR exit('No direct script access allowed');
// Custom Error handler function
function custom_error_handler($severity, $message, $filepath, $line) {
// Custom error message
echo "<strong>Error Severity: </strong>" . $severity . "<br>";
echo "<strong>Error Message: </strong>" . $message . "<br>";
echo "<strong>File Path: </strong>" . $filepath . "<br>";
echo "<strong>Line Number: </strong>" . $line . "<br>";
// Optionally, log the error
log_message('error', $message);
}
// Register the custom error handler
set_error_handler('custom_error_handler');
এই ফাংশনটি ত্রুটি শনাক্ত হলে কাস্টম সিস্টেমে আউটপুট দেখাবে এবং লগ করবে।
CodeIgniter ডিফল্টভাবে শো ত্রুটি নিষ্ক্রিয় করে রাখে (production মোডে)। তবে ডেভেলপমেন্ট পরিবেশে এটি প্রদর্শন করা যেতে পারে।
application/config/config.php
ফাইলে show_debug
সেটিংস এডিট করে ত্রুটি দেখানো যেতে পারে।
// config.php ফাইল
$config['log_threshold'] = 4; // সমস্ত লগ সহ সকল ত্রুটি দেখানো হবে।
$config['show_error'] = TRUE; // ত্রুটি দেখানো
আপনি কাস্টম 404 Error page বা 500 Server Error পেজ তৈরি করতে পারেন।
// Controller Example
public function show_error_page() {
// আপনার কাস্টম 404 পেজ এখানে লোড করা হবে
$this->load->view('custom_error_page');
}
এবং কাস্টম 404 পেজ তৈরি করতে:
// application/views/custom_error_page.php
<html>
<head>
<title>Page Not Found</title>
</head>
<body>
<h1>Sorry, the page you are looking for cannot be found.</h1>
</body>
</html>
CodeIgniter তে Exception Handling ব্যবহারের মাধ্যমে ত্রুটিগুলি আরও দক্ষতার সাথে পরিচালনা করা যায়। এটি try-catch ব্লক ব্যবহার করে করা হয়।
try {
// Some code that might throw an exception
throw new Exception('Something went wrong!');
} catch (Exception $e) {
// Handle exception
echo 'Caught exception: ', $e->getMessage(), "\n";
log_message('error', 'Caught exception: ' . $e->getMessage()); // Log the exception
}
CodeIgniter এর Built-in Error Handling সিস্টেম ডেভেলপারদের জন্য একটি শক্তিশালী টুল, যা ত্রুটি দ্রুত শনাক্ত করতে এবং সমাধান করতে সহায়ক। এটি কাস্টম এবং ডিফল্ট ত্রুটি হ্যান্ডলিং সিস্টেম, লগিং এবং কাস্টম 404 বা 500 পেজ প্রদর্শন করার সুবিধা দেয়।