ম্যাজেন্টো 1.x এ আমরা ব্যাকট্রেস ব্যবহার করতে পারি
echo Varien_Debug::backtrace(true, true); exit;
আমরা ম্যাজেন্টো 2 এ এই সুবিধাটি কীভাবে ব্যবহার করতে পারি?
ম্যাজেন্টো 1.x এ আমরা ব্যাকট্রেস ব্যবহার করতে পারি
echo Varien_Debug::backtrace(true, true); exit;
আমরা ম্যাজেন্টো 2 এ এই সুবিধাটি কীভাবে ব্যবহার করতে পারি?
উত্তর:
debug_backtrace()
আমি নীচে যুক্ত হিসাবে আপনি ব্যবহার করতে পারেন ।
$debugBackTrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
foreach ($debugBackTrace as $item) {
echo @$item['class'] . @$item['type'] . @$item['function'] . "\n";
}
রেফারেন্সের জন্য দয়া করে চেক করুন
dev\tests\api-functional\framework\Magento\TestFramework\TestCase\Webapi\Adapter\Rest\DocumentationGenerator.php
ম্যাজেন্টো 2 এর লগার ক্লাসে, debug_backtrace
পদ্ধতিটি সরাসরি ব্যবহার করা হয় না।
সুতরাং ব্যাকট্র্যাস করার ম্যাজেন্টো 2 উপায় হ'ল Magento\Framework\Debug
ক্লাসটি ব্যবহার করা (যা এম 1 Varien_Debug
শ্রেণির সমতুল্য ) এবং backtrace()
পদ্ধতিটি কল করুন :
/**
* Prints or returns a backtrace
*
* @param bool $return return or print
* @param bool $html output in HTML format
* @param bool $withArgs add short arguments of methods
* @return string|bool
*/
public static function backtrace($return = false, $html = true, $withArgs = true)
{
$trace = debug_backtrace();
return self::trace($trace, $return, $html, $withArgs);
}
যে কোনও পিএইচপি অ্যাপ্লিকেশনটিতে আপনি কেবল এটি করতে পারেন:
$e = new \Exception();
echo '<pre>';
print_r($e->getTraceAsString());
exit;
এম 2-তে নামের ব্যবধানের কারণে আপনাকে ন্যায়বিচারের new \Exception();
পরিবর্তে ব্যবহার করতে হবেnew Exception();
print_r((new \Exception())->getTraceAsString());
(পিএইচপি 5.4 যেহেতু এম 2 তে ব্যবহারের পক্ষে নিরাপদ)
আপনি ম্যাজেন্টোতে ডিবাগ করার জন্য পিএইচপি ফাংশন ডিবাগ_ব্যাকট্রেস ব্যবহার করতে পারেন ।
ডিবাগ_ব্যাকট্রেস ব্যবহার করে সমস্যাটি ট্র্যাক করতে ম্যাজেন্টোতে নিম্নলিখিত কোডগুলি ব্যবহার করুন
foreach (debug_backtrace() as $_stack) {
echo ($_stack["file"] ? $_stack["file"] : '') . ':' .
($_stack["line"] ? $_stack["line"] : '') . ' - ' .
($_stack["function"] ? $_stack["function"] : '').'<br/><hr/>';
}
exit();
আপনি ডিবাগ ব্যাকট্রেস দেখতে পাবেন যা আপনাকে সমস্যার উত্সটি সংজ্ঞায়িত করতে অনুমতি দেবে এবং কীভাবে সমস্যাটি সমাধান করবেন সে সম্পর্কে আপনি একটি ধারণা পাবেন।
@
সতর্কতা উপেক্ষা করতাম , উদাহরণস্বরূপ যখন'class'
উপস্থিত নেই)