ম্যাজেন্টো ত্রুটি প্রদর্শনের বিষয়ে মোটামুটি প্রতিরক্ষামূলক (যেমনটি হওয়া উচিত)। যখন বিকাশকারী মোড সক্ষম থাকে (যেমন এটি বিকাশের সময় হওয়া উচিত) তখন অ্যাপ্লিকেশনটি রানটাইম ত্রুটির প্রতিক্রিয়াটিকে ব্যবহারকারীর কাছে বুদ্বুদ দেয়। এক্সএমএল সংকলনের ত্রুটির জন্য যদিও এই প্রতিক্রিয়াটি মোটামুটি অকেজো:
মারাত্মক ত্রুটি: সতর্কতা: সরল xML_load_string () বার্তা সহ অপ্রকাশিত ব্যতিক্রম 'ব্যতিক্রম': সত্তা: লাইন 4: পার্সার ত্রুটি: [...] / lib / ভারিইন / সিম্প্লেক্সিল / কনফিগারে ডকুমেন্টের শুরুতে এক্সএমএল ঘোষণা অনুমোদিত allowed পিএইচপি 510 'তে লাইনটিতে [...] অ্যাপ্লিকেশন / কোড / কোর / ম্যাজ / কোর / ফাংশন.পিএফ 245 লাইনে
স্ট্রিংয়ের সাথে Varien_Simplexml_Config::loadFile()
উপস্থাপন থেকে ফলাফল ::loadString()
যা পার্স করা যায় না:
public function loadFile($filePath)
{
if (!is_readable($filePath)) {
//throw new Exception('Can not read xml file '.$filePath);
return false;
}
$fileData = file_get_contents($filePath);
$fileData = $this->processFileData($fileData);
return $this->loadString($fileData, $this->_elementClass);
}
ব্যবহার সহ বেশ কয়েকটি সম্ভাব্য সমাধান রয়েছে libxml_use_internal_errors
, তবে কলিং পদ্ধতিটি $filePath
পরমকে যোগাযোগ করে না , সুতরাং প্রসঙ্গটি হারিয়ে যাবে। একটি সম্ভাবনা আরও সুস্পষ্ট ব্যতিক্রম নিক্ষেপ করা হবে:
public function loadFile($filePath)
{
if (!is_readable($filePath)) {
//throw new Exception('Can not read xml file '.$filePath);
return false;
}
$fileData = file_get_contents($filePath);
$fileData = $this->processFileData($fileData);
try{
return $this->loadString($fileData, $this->_elementClass);
}
catch (Exception $e){
Mage::throwException (
sprintf(
"%s: error parsing %s:\r\n%s",
__METHOD__,
$filePath,
$e->getMessage()
)
);
}
}
এটি অন্তত নিম্নলিখিতগুলির মতো আউটপুট সরবরাহ করে:
মারাত্মক ত্রুটি: 'ভারিএনসিম্প্লেক্সল এমএল কনফিগ :: লোডফাইলে: ত্রুটি বিশ্লেষণ [...] / অ্যাপ / কোড / স্থানীয় / কিছু / উদাহরণ / ইত্যাদি / কনফিগারেশন : এমপি : সতর্কতা: সরল xML_load_string (): সত্ত্বা: লাইন 4 : পার্সার ত্রুটি: এক্সএমএল ঘোষণার অনুমতি কেবলমাত্র [...] / lib / ভারিইন / সিম্প্লেক্সিল / কনফিগারেশন.এফপি 594 লাইনে 534 লাইনে [...] / অ্যাপ্লিকেশন / ম্যাজ.এফপিতে ডকুমেন্টের শুরুতে অনুমোদিত হয়েছিল
এখানে বিবেচনা করার জন্য কিছু সুবিধা / অসুবিধাগুলি / বিকল্প পদ্ধতি আছে?