Symfony2 মতবাদ 2 এ var_dump সহ অত্যধিক ডেটা


101

আমার প্রায় 40 টি সত্তা এবং অনেক দ্বি-নির্দেশমূলক সম্পর্ক রয়েছে। যখনই আমি var_dump ($ ব্যবহারকারী) বা যে কোনও সত্তা ব্যবহার করি আমার ব্রাউজারটি অ্যারে এবং ভেরিয়েবলগুলির অত্যধিক ডেটা দ্বারা লোড হয়ে যায় তখনই এটি ক্র্যাশ হয়ে যায়।

আমি সমস্যা কি করতে চাই

তথ্য সূক্ষ্ম inোকানো হচ্ছে। আমি কি উত্পাদনে সমস্যা সৃষ্টি করতে পারি?


আমরা কোন ব্রাউজারের কথা বলছি?
মাদারার ঘোস্ট

4
আপনি xdebug ব্যবহার করছেন? যদি তা না হয় তবে এটিকে ব্যবহার করার কথা বিবেচনা করুন এবং var_dump এর পরিবর্তে কেবল এক্সপ্লিপস, নেটবিয়ান বা পিএইচপিএসটর্মের মতো আইডিই দিয়ে স্টেপ ডিবাগারটি ব্যবহার করুন। এই সমস্ত ভেরিয়েবল ডেটা দুর্দান্তভাবে প্রদর্শন করবে।
hakre

"ক্র্যাশিং" বলতে কী বোঝায় - ব্রাউজার অ্যাপ্লিকেশন (বা ট্যাব) বন্ধ হয়ে যায়, বা এটি কোনও ফলাফল প্রদর্শন করে না, বা পৃষ্ঠাটি বাধাগ্রস্থ হয়েছে?
ইউরি

আমার ব্রাউজারটি আমার সমস্ত এন্টি এবং সেগুলি সহ ভেরিয়েবলের ডেটার খুব দীর্ঘ পৃষ্ঠা প্রদর্শন করে। দেখে মনে হচ্ছে এটি কখনই শেষ হয় না। আমি বটফ ফায়ারফক্স এবং ক্রোম চেষ্টা করেছি। যদি আমি অন্য কোনও শ্রেণীর সাথে চেষ্টা করি যার যার কোনও সম্পর্ক নেই তবে এটি ঠিক কাজ করে তবে অনেক সম্পর্কের সাথে এটি কম্পিউটারকে স্থির করে দেয়। আমার সেই কাজটি শেষ করতে হয়েছিল
মিরাজ

আমার খালি হাড়ের ক্লাস রয়েছে এবং আমার ব্রাউজারটি ক্র্যাশ হয়েছে। আমি এই সমস্ত প্রতিবন্ধী ডিফল্টকে ঘৃণা করছি।
ChocoDeveloper

উত্তর:


222

ডক্ট্রাইন কমন দ্বারা সরবরাহিত ডিবাগ পদ্ধতি ডাম্প () দিয়ে var_dump () প্রতিস্থাপন করুন ।

\Doctrine\Common\Util\Debug::dump($user);

এটি একক অবজেক্ট এবং মতবাদ সংগ্রহের জন্য কাজ করে এবং ব্রাউজারটি আপনার সমস্যাগুলি দেখায় তা প্রতিরোধ করা উচিত।


5
আপনি এটি করতে পারেন dump()সঙ্গে MaxDepth মধ্যে dump()দ্বিতীয় যুক্তি MaxDepth
এমবি কাকাদিয়া

4
আপনি যদি আপনার পিএইচপি ত্রুটি লগটিতে ডিবাগ আউটপুট পেতে পছন্দ করেন তবে নিম্নলিখিতটি ব্যবহার করুন: error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1)); প্রতিবার টাইপ করা এটি বেশ জটিল, তবে এটির জন্য আপনি সহজেই ম্যাক্রো তৈরি করতে পারেন।
আন্দ্রে স্প্রেগা

এই ফাংশনটি খুব সহায়ক! ব্রাউজার ক্র্যাশ থেকেও আমাকে বাঁচিয়েছে।
রেন



4

সমস্যাটি হচ্ছে দ্বিপাক্ষিক সম্পর্কের ক্ষেত্রে উভয় সত্তার একে অপরের সাথে একটি লিঙ্ক রয়েছে, সুতরাং সত্ত্বা 1 প্রদর্শন করার সময় var_dump এছাড়াও সত্তা 2 এর সমস্ত বৈশিষ্ট্য মুদ্রণ করতে হবে, যার মধ্যে অস্তিত্ব 1 নিজেই আপনাকে একটি লুপ দেয় include


এটি হ'ল একমাত্র উত্তর যা হ'ল কেন তা ঘটে explain
ব্যবহারকারী 2342558

4

সিম্ফনি <2.6

আপনি এটি ব্যবহার করতে পারেন \Doctrine\Common\Util\Debug::dump($variable, $depth);প্রক্সি তথ্য ব্যতীত মতবাদ আউটপুট প্রদর্শন করে।

সিমফনি> 2.6

আপনি যদি সিমফনি ২.6 বা তার বেশি ব্যবহার করেন তবে আমি আপনাকে দৃ strongly়ভাবে ব্যবহার করার পরামর্শ দিচ্ছি dump()। এটি একটি ভাল গঠনযুক্ত এবং রঙিন আউটপুট দেখায় এবং আপনি সক্রিয়ভাবে সারিগুলি ব্যয় / আড়াল করতে পারেন। এখানে চিত্র বর্ণনা লিখুন



2

সিমফনি ২.6 এর সাহায্যে আপনি এখনই আপনার নিয়ামকটিতে ডাম্প ($ ভার) এবং ডাব () {ডাবল) ব্যবহার করতে পারেন tw

অ্যারে ('দেব', 'পরীক্ষা') বিভাগে এটি আপনার AppKernal.php ফাইলে যুক্ত করার বিষয়টি নিশ্চিত করুন।

$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();

2

ডাম্প ($ ব্যবহারকারীর) ব্যবহার করুন এবং আপনি সিমফনি প্রোফাইলারের সঠিক ফলাফল দেখতে পাবেন! শুভকামনা


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.