Magento 1.x में हम backtrace का उपयोग कर सकते हैं जैसे
echo Varien_Debug::backtrace(true, true); exit;
हम Magento 2 में इस सुविधा का उपयोग कैसे कर सकते हैं?
Magento 1.x में हम backtrace का उपयोग कर सकते हैं जैसे
echo Varien_Debug::backtrace(true, true); exit;
हम Magento 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
Magento 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);
}
किसी भी PHP आवेदन में आप बस कर सकते हैं:
$e = new \Exception();
echo '<pre>';
print_r($e->getTraceAsString());
exit;
M2 में नाम रिक्ति के कारण, आपको new \Exception();
बस के बजाय उपयोग करने की आवश्यकता हैnew Exception();
print_r((new \Exception())->getTraceAsString());
(PHP 5.4 के बाद से, M2 में उपयोग करने के लिए इतना सुरक्षित)
आप Magento में डीबग करने के लिए PHP फ़ंक्शन डीबग_बैकट्रेस का उपयोग कर सकते हैं ।
Debug_backtrace का उपयोग करके समस्या को ट्रैक करने के लिए magento में निम्न कोड का उपयोग करें
foreach (debug_backtrace() as $_stack) {
echo ($_stack["file"] ? $_stack["file"] : '') . ':' .
($_stack["line"] ? $_stack["line"] : '') . ' - ' .
($_stack["function"] ? $_stack["function"] : '').'<br/><hr/>';
}
exit();
आप डिबग बैकट्रेस देखेंगे जो आपको समस्या स्रोत को परिभाषित करने की अनुमति देगा और आपको एक विचार मिलेगा कि समस्या को कैसे ठीक किया जाए।
@
चेतावनी को अनदेखा'class'
करता था , उदाहरण के लिए जब मौजूद नहीं है)