স্ট্যান্ডার্ড এররে লিখন

PHP:
স্ট্যান্ডার্ড এররে লিখন

কিভাবে:

PHP-তে, stderr-এ লেখা অর্জিত হতে পারে fwrite() ফাংশনের মাধ্যমে যার সাথে পূর্বনির্ধারিত স্থিরাঙ্ক STDERR ব্যবহৃত হয়, যা ত্রুটি আউটপুট স্ট্রিমকে প্রতিনিধিত্ব করে।

<?php
// stderr-এ একটি সরল বার্তা লেখা।
fwrite(STDERR, "এটি একটি ত্রুটি বার্তা।\n");

যখন স্ক্রিপ্টটি কমান্ড লাইন থেকে চালানো হয় তখন নমুনা আউটপুট:

এটি একটি ত্রুটি বার্তা।

আরও বাস্তবসম্মত ব্যবহার দেখানোর জন্য, এমন একটি পরিস্থিতি বিবেচনা করুন যেখানে আপনি ব্যবহারকারীর ইনপুট পার্স করছেন এবং অপ্রত্যাশিত ডেটা পাচ্ছেন:

<?php
$input = 'unexpected data';

// ব্যবহারকারীর ইনপুট প্রসেসিংয়ে ত্রুটি সিমুলেশন করা।
if ($input === 'unexpected data') {
    fwrite(STDERR, "ত্রুটি: অপ্রত্যাশিত ইনপুট প্রাপ্ত হয়েছে।\n");
    exit(1); // একটি অ-শূন্য মান দিয়ে প্রস্থান করা যা একটি ত্রুটিকে নির্দেশ করে।
}

PHP-এর নিজস্ব stderr হ্যান্ডেলিং ক্ষমতা সাধারণত যথেষ্ট হলেও, আরও জটিল অ্যাপ্লিকেশন সম্পর্কে কাজ করার সময় বা বাহ্যিক সিস্টেমগুলির সাথে stderr লগিং একীভূত করার ক্ষেত্রে, Monolog মতো থার্ড-পার্টি লাইব্রেরিগুলি একটি শক্তিশালী মিত্র হতে পারে। Monolog একটি লগিং লাইব্রেরি যা stderr-এর মধ্যে অনেক অন্যান্য লক্ষ্য (ফাইল, সকেট, ইত্যাদি) সামলাতে পারে।

Monolog ব্যবহার করে stderr-এ লেখাঃ

প্রথমে, নিশ্চিত করুন যে আপনার কাছে Composer মাধ্যমে Monolog ইনস্টল করা আছে:

composer require monolog/monolog

তারপর, আপনি php://stderr-এ লক্ষ্য করে StreamHandler-কে কনফিগার করতে Monolog ব্যবহার করতে পারেন:

<?php
require 'vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// একটি লগ চ্যানেল তৈরি করা
$log = new Logger('name');
$log->pushHandler(new StreamHandler('php://stderr', Logger::WARNING));

// stderr-এ একটি লগ বার্তা যোগ করা
$log->warning('এটি একটি সতর্কবার্তা।');

উপরের কোড Monolog ব্যবহার করে stderr-এ একটি সতর্কবার্তা পাঠায়, যা বিশেষত সেই অ্যাপ্লিকেশনের জন্য উপযোগী যা বিস্তারিত লগিং কনফিগারেশন অথবা বাহ্যিক লগ মনিটরিং প্রয়োজন।