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-এ একটি সতর্কবার্তা পাঠায়, যা বিশেষত সেই অ্যাপ্লিকেশনের জন্য উপযোগী যা বিস্তারিত লগিং কনফিগারেশন অথবা বাহ্যিক লগ মনিটরিং প্রয়োজন।