كيف يمكن أن يساعدك Xdebug في أن تصبح مطور WordPress أفضل

نشرت: 2022-10-11

كما يمكن لأي مطور أن يشهد ، فإن الكود ليس جاهزًا أبدًا للإنتاج بعد المسودة الأولى. يعد التصحيح جزءًا أساسيًا من عملية التطوير - إزالة أو تغيير جميع أجزاء التعليمات البرمجية التي لا تعمل.

يعد امتداد Xdebug لـ PHP طريقة شائعة لاستئصال جميع الأخطاء الموجودة في التعليمات البرمجية الخاصة بك وتدميرها.

أحد الجوانب العظيمة لـ Xdebug هو مدى مرونته. بغض النظر عن إطار العمل أو بيئة التطوير المفضلة لديك ، ستتمكن من العثور على إصدار من Xdebug يتم إدخاله في سير عملك. من هناك ، لن يستغرق التعامل مع الأداة وقتًا طويلاً.

سيبحث هذا البرنامج التعليمي في Xdebug بعمق ، بما في ذلك عملية التثبيت ودمجها في الإعداد والاستخدام العام.

أولاً ، دعنا نوفر لك المزيد من السياق حول ماهية Xdebug وما يفعله.

إدخال Xdebug

يعد Xdebug أحد أكثر الإضافات شيوعًا لتصحيح أخطاء كود PHP الخاص بك. ستقوم بتثبيته من داخل البيئة التي اخترتها ، ويعمل بمثابة "مصحح أخطاء".

خلفية ذات طبقات خضراء تعرض شعار Xdebug ، مع علامة "X" خضراء.
شعار Xdebug.

باختصار ، يمكّنك هذا من العمل على الكود الخاص بك سطرًا بسطر حتى تتمكن من التنقل والنظر في كيفية عمل الكود والتفاعل داخل برنامجك ، بالإضافة إلى التحقق من مخرجاته. من هناك ، يمكنك إجراء التغييرات على النحو الذي تراه مناسبًا.

يمكن لـ Xdebug فعل المزيد ، على الرغم من:

  • يمكنك تحليل أداء الكود الخاص بك باستخدام مجموعة من المقاييس والتصورات.
  • عند تشغيل اختبارات وحدة PHP ، يمكنك معرفة مجموعات التعليمات البرمجية التي تقوم بتشغيلها وتنفيذها.
  • يتضمن Xdebug قدرات "التتبع" ، والتي ستكتب كل استدعاء للوظيفة إلى القرص. سيتضمن ذلك الوسائط والتخصيصات المتغيرة والقيم المرجعة.
  • يقوم Xdebug أيضًا بإجراء تحسينات على تقارير أخطاء PHP القياسية. سنغطي المزيد حول هذا لاحقًا.

بالنظر إلى مجموعة الميزات ، هناك الكثير من الطرق لاستخدام Xdebug (وأي مصحح أخطاء مشابه) في سير عملك. سنغطي هذه في القسم التالي.

تصحيح الأخطاء هو جزء أساسي من عملية التطوير - و Xebug موجود هنا لتسهيل هذه العملية انقر للتغريد

لماذا تريد استخدام Xdebug

لن يكون لدى العديد من المطورين سير عمل مخصص لتصحيح الأخطاء يستخدم أدوات وملحقات تابعة لجهات خارجية. هذا لأن PHP تتضمن تسجيل الأخطاء البدائية الخاصة بها. ستستخدم أوامر مثل error_log و var_dump و print لرؤية نتائج المتغيرات واستدعاءات الوظائف.

على سبيل المثال ، هناك الكثير من المقتطفات التي يمكنك إعادة توظيفها لتطوير WordPress - Stack Overflow مليء بها:

 function log_me($message) { if ( WP_DEBUG === true ) { if ( is_array($message) || is_object($message) ) { error_log( print_r($message, true) ); } else { error_log( $message ); } } }

ومع ذلك ، هناك بعض العيوب المهمة لهذا النهج:

  • يجب عليك أولاً التأكد من تمكين سجلات الأخطاء للنظام الأساسي الذي تعمل به. في هذه الحالة ، سترغب في تمكين WP_DEBUG (المزيد حول هذا قريبًا).
  • يقدم هذا المثال لتصحيح الأخطاء "التفريغ" نطاقًا أقل للتحقيق من تصحيح الأخطاء التدريجي. هنا ، يمكنك فقط إخراج ما تحدده.

تتطلب النقطة الأخيرة الكثير من الجهد اليدوي ، خاصةً إذا لم تكن وظيفتك اليومية بمثابة مسؤول نظام. على سبيل المثال ، إذا كنت تريد تصحيح أخطاء كتلة التعليمات البرمجية ، فيمكنك إضافة مقتطفك بناءً على متغير تحدده. ومع ذلك ، قد لا يكون مصدر المشكلة أو حتى يشير إلى ما يحدث.

بدلاً من ذلك ، يمكن لأداة مثل Xdebug أن تعمل بسحرها لتوفير نطاق أكبر:

  • يمكنك "كسر" الكود الخاص بك في نقاط مختلفة أثناء التنفيذ لمعرفة ما يحدث في الوقت الفعلي.
  • هناك عدد لا يحصى من المقاييس والتصورات والفروع والمزيد لمساعدتك على التأكد من ما تقوم به التعليمات البرمجية الخاصة بك وكيف تستجيب.
  • في بعض الأحيان ، يمكنك حتى تغيير القيم بسرعة أثناء عملية التصحيح. يقدم هذا قيمة هائلة ، حتى بالنسبة لمجموعات التعليمات البرمجية التي تعمل بشكل جيد. يمكنك بشكل أساسي إجراء اختبارات الوحدة اليدوية في أي وقت.
  • نظرًا لأنك تستخدم نقاط التوقف لترميز المناطق لتصحيح الأخطاء ، فلن تحتاج إلى العمل مع المقتطفات داخل التعليمات البرمجية الخاصة بك. هذا يحافظ على نظافة الكود الخاص بك ويقلل من عدد المشكلات المستقبلية.

بشكل عام ، يعد استخدام أداة مثل Xdebug قرارًا استباقيًا وليس رد فعل. يمكنك استخدام التصحيح التدريجي كجزء من عملية التطوير الأساسية ، تمامًا مثل تنفيذ اختبارات الوحدة كجزء من التطوير القائم على الاختبار (TDD).

كيفية تشغيل تسجيل أخطاء PHP

على الرغم من أنه يمكنك تصحيح أخطاء التعليمات البرمجية الخاصة بك دون حدوث خطأ محدد ، فمن الجيد غالبًا معرفة ما إذا كانت هناك مشكلة تحدث دون فتح Xdebug. يمنحك هذا نقطة انطلاق للاستكشاف. إنه ليس ضروريًا تمامًا ، ولكن يمكن أن يكون جزءًا مفيدًا من سلسلتك.

للإبلاغ عن كل خطأ يظهر ، ستحتاج إلى إضافة سطر إلى أعلى ملف PHP ذي الصلة:

 error_reporting(E_ALL);

هذا أمر شامل ، ويمكنك تحقيق الأمر نفسه باستخدام دالة ini_set :

 ini_set('error_reporting', E_ALL);

يتيح لك هذا تغيير الإعدادات داخل ملف php.ini الخاص بك على أساس كل مشروع على حدة. بينما يمكنك الانتقال إلى هذا الملف وإجراء تغيير يدوي ، فمن الأفضل غالبًا العمل مع ini_set لتغيير المعلمة المحددة:

 ini_set('display_errors', '1');

بمجرد تعيين إعداد تقارير الأخطاء النشط حسب رغبتك ، يمكنك البدء في العمل مع Xdebug.

كيفية استخدام Xdebug

خلال الأقسام القليلة التالية ، سنوضح لك كيفية استخدام Xdebug ، بما في ذلك الخطوات التي ستحتاجها لإعداد الأشياء. بينما لا يمكننا تغطية كل جانب من جوانب الأداة ، فإن دليل البدء السريع هذا سيساعدك على المضي قدمًا بسرعة.

أولاً ، على الرغم من ذلك ، تحتاج إلى تثبيت Xdebug. دعنا نتعرف على كيفية القيام بذلك.

1. تثبيت Xdebug لنظام التشغيل الخاص بك (OS)

نظرًا لأن Xdebug قابل للتكيف مع أي عدد من الإعدادات ، فإن العملية الدقيقة لكل واحد ستكون مختلفة قليلاً. على مستوى نظام التشغيل ، هناك بعض الاختلافات:

  • Windows: هذه عملية إعداد معقدة إلى حد ما تتضمن استخدام ملف PHP موجود ومعالج التثبيت ، ثم تنزيل الإصدار الصحيح لنظامك.
  • لينكس: الطريقة هنا هي الأكثر مباشرة: يمكنك استخدام مدير الحزم لتثبيت Xdebug ، أو PHP Extension Community Library (PECL).
  • نظام التشغيل Mac: هذه الطريقة بسيطة أيضًا: بمجرد تثبيت PECL ، يمكنك تشغيل pecl install xdebug من مثيل طرفي. ستحتاج أيضًا إلى تثبيت أدوات سطر أوامر XCode و PHP على نظامك.

ومع ذلك ، لن يرغب معظم المستخدمين في التمسك بمثيل على مستوى النظام لـ Xdebug. بدلاً من ذلك ، سترغب في دمجه في بيئة التطوير الخاصة بك.

2. دمج Xdebug في بيئة التطوير الخاصة بك

بمجرد تثبيت Xdebug لنظام التشغيل الخاص بك ، يجب عليك توصيله ببيئتك.

هناك العديد من الأنظمة والأدوات المدعومة هنا ولا يمكننا الدخول فيها جميعًا. في وقت لاحق ، سنقدم لك إرشادات لكل من DevKinsta و PhpStorm. ومع ذلك ، هناك الكثير من البيئات الشائعة الأخرى للاختيار من بينها. فيما يلي بعض من أهم توصياتنا.

Varying Vagrant Vagrants (VVV)

VVV هي إحدى البيئات المسماة على موقع Make WordPress الإلكتروني:

خلفية زرقاء تحتوي على فن ASCII 8 بت لشعار Varying Vagrant Vagrants (
شعار Varying Vagrant Vagrants.

الخبر السار هو أن VVV يتضمن بالفعل إصدارًا من Xdebug ، لكنك تحتاج إلى تنشيطه. يمكنك القيام بذلك باستخدام Secure Shell (SSH) داخل نافذة طرفية:

 vagrant ssh -c "switch_php_debugmod xdebug"

ومع ذلك ، هناك قدر ضئيل من الأداء ، وستحتاج إلى إعادة تشغيل هذا الخيار إذا قمت بتوفير مواقعك.

Laravel Valet

بالنسبة لبعض المستخدمين ، يمثل Laravel's Valet بيئة تطوير ويب شبه مثالية. والأفضل من ذلك ، يمكنك دمج Xdebug معها.

للقيام بذلك ، ستحتاج إلى إنشاء ملف تكوين لمصحح الأخطاء. يمكنك العثور على المسار الخاص بك باستخدام php --ini في سطر الأوامر ، والذي سيعيد بعض مسارات الملفات المختلفة:

نافذة طرفية تعرض قائمة بمسارات ملفات تكوين PHP. ومؤشر موجه أوامر فارغ.
تعرض الوحدة الطرفية قائمة بمسارات ملفات التكوين.

بعد ذلك ، قم بإنشاء ملف xdebug.ini جديد في المسار لملفات .ini إضافية. في مثالنا ، يوجد في /opt/homebrew/etc/php/7.4/conf.d .

بمجرد فتح هذا الملف الجديد ، افتح أيضًا المسار إلى ملف التكوين المحمل (ملف php.ini الرئيسي). مع فتح كلاهما ، أضف ما يلي إلى الأسفل:

  • php.ini: zend_extension="xdebug.so"
  • xdebug.ini: xdebug.mode=debug

بمجرد حفظ التغييرات ، قم بتشغيل valet restart من Terminal ، ثم أضف phpinfo(); exit; phpinfo(); exit; إلى أحد ملفات موقعك. ستحتاج إلى التحقق مما إذا كان هذا يعمل من خلال تحميل سريع للصفحة داخل المتصفح.

ملف معلومات PHP داخل المتصفح ، يعرض شعار Xdebug و
شاشة معلومات PHP.

لاحظ أنك قد تحتاج إلى إعادة تشغيل PHP باستخدام sudo brew services restart php وكذلك التحقق من صحة تثبيت نظام Xdebug باستخدام php --info | grep xdebug php --info | grep xdebug . ستلاحظ الخطوط الخاصة بـ Xdebug داخل الإخراج:

تظهر نافذة طرفية عددًا من إعدادات تكوين Xdebug المختلفة (مثل أسماء المخرجات ومتغيرات العرض). يظهر موجه

من هنا ، يمكنك البحث عن دمج Xdebug في محرر الترميز الذي تختاره.

XAMPP

مثل Valet ، هناك أجزاء قليلة لعملية XAMPP. ومع ذلك ، فإن إصدارات Windows و macOS لها عمليتان مختلفتان.

ابدأ بتثبيت XAMPP ، ثم قم بإجراء فحص سريع لمعرفة ما إذا كان ملف php_xdebug.dll (Windows) أو ملف xdebug.so (macOS) موجودًا على نظامك:

تظهر نافذة طرفية مقتطفًا لاختبار ما إذا كانت هناك فترة. إذا حدث ذلك ، فستخرج المحطة الطرفية
نافذة طرفية تعرض اختبارًا لملف XAMPP.

إذا كان الملف موجودًا ، يمكنك الانتقال إلى التكوين. بخلاف ذلك ، ستحتاج أولاً إلى تنزيل الملف الثنائي الصحيح لنظام التشغيل Windows - ملف 64 بت لإصدار PHP المفضل لديك - أو تثبيت بعض التبعيات الإضافية إذا كنت تستخدم جهاز Mac.

بالنسبة لنظام التشغيل Windows ، أعد تسمية ملف DLL php_xdebug.dll ، ثم انقله إلى مسار الملف \ xampp \ php \ ext . بعد ذلك ، افتح ملف \ xampp \ php \ php.ini في محرر الكود المفضل لديك وأضف ما يلي:

 output_buffering = Off

في قسم [XDebug] ، أضف الأسطر الثلاثة التالية:

 zend_extension=xdebug xdebug.mode=debug xdebug.start_with_request=trigger

بمجرد حفظ التغييرات ، أعد تشغيل Apache واختبر Xdebug.

بالنسبة لنظام التشغيل Mac ، ستحتاج إلى التأكد من تثبيت أدوات سطر أوامر Xcode باستخدام xcode-select --install التثبيت في مثيل Terminal. بعد ذلك ، هناك ثلاث حزم تريد تثبيتها باستخدام Homebrew:

 brew install autoconf automake libtool

في بعض الحالات ، ستحتاج أيضًا إلى إعادة تثبيت XAMPP للحصول على كل من البرنامج الأساسي و "ملفات المطور". يجب أن تكون قادرًا على إعادة تثبيت هذه الملفات فقط ، لكنك سترغب في إجراء نسخة احتياطية من الإعداد الحالي أولاً.

بعد ذلك ، انتقل إلى التنزيل لمجلد مصدر Xdebug على نظامك وقم بفك ضغط ملف TGZ. داخل نافذة Terminal ، انتقل إلى هذا الدليل وقم بتشغيل ما يلي:

 phpize pecl install xdebug

لاحظ أنك قد تحتاج إلى استخدام sudo هنا أيضًا. من هنا ، يمكنك تحرير ملف XAMPP php.ini. بالنسبة لمعظم عمليات تثبيت macOS ، ستجدها على /Applications/XAMPP/xamppfiles/etc/php.ini . ضمن هذا الدليل ، ستجد أيضًا المسار إلى ملف xdebug.so الخاص بك - لاحظ ذلك واستخدمه بدلاً من العنصر النائب لمسار الملف لهذا المقتطف:

 [xdebug] zend_extension=/path/to/xdebug.so xdebug.mode=develop,degug xdebug.start_with_request=yes

لاختبار ما إذا كان هذا يعمل ، قم بإنشاء ملف xdebug_info.php جديد داخل دليل htdocs XAMPP الرئيسي. في الداخل ، أضف ما يلي:

 <?php xdebug_info();

... ثم قم بتحديث Apache واختبار Xdebug في المتصفح.

استخدام PhpStorm مع Xdebug

بمجرد تثبيت Xdebug من خلال نظام التشغيل وبيئة التطوير الخاصة بك ، ستحتاج أيضًا إلى عرض مصحح الأخطاء نفسه. ستفعل ذلك من خلال محرر الكود الذي اخترته أو بيئة التطوير المتكاملة (IDE). كما هو الحال مع بيئتك ، هناك الكثير للاختيار من بينها ، وقد يكون لكل منها نهج مختلف.

ومع ذلك ، يختار العديد من المطورين استخدام PhpStorm JetBrains. في الواقع ، تقدم PhpStorm "مساعدة مدركة لـ WordPress" - وهي خيار شائع للعديد من الأسباب الأخرى أيضًا.

واجهة PhpStorm ، مع دليل شجرة للمشروع على اليسار يستخدم نصًا باللون الأبيض والأزرق والأصفر. يحتوي الجانب الأيمن على كود PHP لمكوِّن إضافي لبرنامج WordPress ، باستخدام نص باللون البرتقالي والأرجواني والأخضر والأبيض.
واجهة PhpStorm.

يتضمن موقع ويب JetBrains إرشادات كاملة حول ربط Xdebug و PhpStorm ، لكننا سنراجعها هنا.

أولاً ، انتقل إلى صفحة Languages ​​& Frameworks> PHP داخل جزء التفضيلات . هنا ، افتح قائمة More Items kebab بجوار حقل القائمة المنسدلة CLI Interpreter :

شاشة تفضيلات جزئية في PhpStorm ، تعرض رابط الصفحة (
اختيار مترجم CLI في PhpStorm.

سيعرض هذا مزيدًا من التفاصيل حول إصدار PHP والمترجم الفوري. إذا قمت بالنقر فوق علامة القطع المزيد من العناصر بجوار خيار ملف التكوين ، فسترى المسارات الكاملة لملف php.ini الخاص بك:

شاشة جزئية من PhpStorm More Items تعرض اسم التكوين ، والمسار إلى ملف PHP القابل للتنفيذ ، وأرقام إصدار PHP والمصحح الحالي ، وقائمة بملفات التكوين لجوانب مختلفة من تثبيت PHP.
تعديل تكوين PHP داخل PhpStorm.

ستعمل مع ملف PHP هذا بعد ذلك لمتابعة عملية الإعداد.

العمل داخل ملف php.ini

المهمة الأولى هنا هي تحرير أي سطور تؤثر على كيفية عمل Xdebug مع PhpStorm.

داخل ملف php.ini ، ابحث عن الأسطر التالية وقم إما بإزالتها أو التعليق عليها:

 zend_extension=<path_to_zend_debugger> zend_extension=<path_to_zend_optimizer>

لن تكون هذه الخطوط موجودة في جميع الحالات ، لذلك لا تنزعج إذا لم تراها.

بعد ذلك ، أضف ما يلي إلى الملف:

 [xdebug] zend_extension="xdebug.so" xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port="<the port (9003 by default) to which Xdebug connects>"

هناك بعض الأشياء التي يجب ملاحظتها حول مجموعة التعليمات البرمجية هذه:

  • قد يكون لديك بالفعل قسم [xdebug] ، وفي هذه الحالة يمكنك حذف التعيين الأول.
  • قد يحتاج إدخال zend_extension إلى إضافة المسار الكامل لـ xdebug.so للاتصال.
  • على الرغم من أنه قد يبدو كعنصر نائب ، فإن معلمة xdebug.client_port هي كيفية تعيينه داخل التعليمات البرمجية الخاصة بك.

بمجرد إضافتها ، احفظ الملف وأغلقه ، ثم اختبر إصدار PHP من سطر الأوامر (باستخدام php --version ):

خلفية سطح المكتب المتدرجة باللون الأزرق والأحمر والأرجواني Big Sur ، تعرض نافذة macOS Terminal. يعرض الأمر "php -version" ، جنبًا إلى جنب مع رقم إصدار PHP ، وإشعار حقوق النشر ، والإصدارات المثبتة (كاملة مع أرقام الإصدارات) لـ Zend Engine و Xdebug و Zend OPcache.
اختبار التثبيتات الحالية لـ PHP و Xdebug باستخدام macOS Terminal.

إذا كان لديك إصدار عامل من Xdebug ، فسيظهر كواحد من امتدادات PHP. يمكنك أيضًا إضافة phpinfo(); إلى ملف جديد واختبر ذلك في المتصفح.

هذا هو كل ما عليك القيام به لجعل Xdebug يعمل كمصحح الأخطاء الافتراضي الخاص بك مع PhpStorm. الخطوة الأخيرة قبل استخدامه هي تثبيت ملحق مساعد للمتصفح.

تثبيت ملحق مساعد المستعرض

اتصال المفتاح الأخير الذي ستحتاج إلى إجرائه هو بين المستعرض الخاص بك و PhpStorm ، ويتم إنجازه عن طريق تنشيط تصحيح الأخطاء على الخادم. بينما يمكنك القيام بذلك من سطر الأوامر باستخدام قيم GET أو POST خاصة ، إلا أنه من الأسهل استخدام امتداد.

نوصي باستخدام ملحق Xdebug Helper المخصص. يمكنك تثبيته على المتصفح الذي تختاره:

  • Xdebug Helper لمتصفح Chrome / Chromium / Brave
  • Xdebug Helper لمتصفح Firefox
  • Xdebug Helper لمتصفح Safari

إذا كنت ترغب في استكشاف ملحقات أخرى ، فإن موقع JetBrains يقدم بعض الخيارات الإضافية لأكثر المتصفحات شيوعًا.

بمجرد تثبيت ملحق المتصفح الذي اخترته ، لن تضطر إلى ضبط أي إعدادات تكوين أخرى. من هنا ، يمكنك البدء في استخدام Xdebug مع PhpStorm.

باستخدام Xdebug

بينما سنستخدم PhpStorm هنا ، سترى تخطيطًا وواجهة متشابهة بين IDEs مختلفة - على الرغم من أنه سيكون هناك أيضًا بعض الاختلافات الواضحة.

هناك بعض المفاهيم التي تتحد لتشكل تجربة تصحيح الأخطاء بالكامل:

  • نقاط التوقف: هذه هي النقاط التي سيتوقف فيها Xdebug للسماح لك بفحص الإخراج. يمكنك تعيين أكبر عدد تريده من هؤلاء.
  • الاستماع للاتصالات: يمكنك التبديل بين تشغيل وإيقاف هذا ، على الرغم من أن معظم المطورين سيتركونهم دائمًا.
  • شاشة تصحيح الأخطاء: ستقضي معظم وقتك في واجهة التصحيح - حيث ستعمل مع سطور التعليمات البرمجية والمتغيرات والمعلمات المختلفة.

الخطوة الأولى هي تنشيط الاستماع - لن تتمكن من تصحيح أي أخطاء بدونه. للقيام بذلك ، انقر فوق تشغيل> بدء الاستماع لخيار اتصالات تصحيح PHP في شريط الأدوات:

شاشة واجهة PhpStorm جزئية ، تعرض دليل شجرة على اليسار ، وشريط أدوات التطبيق. قائمة التشغيل مفتوحة ، و
قائمة التشغيل المفتوحة داخل PhpStorm.

كبديل ، يمكنك النقر فوق رمز "الهاتف" داخل شريط أدوات PhpStorm:

لقطة مقربة لشريط أدوات PhpStorm ، والذي يعرض خيارات لتكوين التشغيل الحالي ، وخيارات Git المتنوعة ، وأيقونة هاتف بدء الاستماع لـ PHP Debug Connections (كاملة مع تلميح الأدوات).
الاستماع لاتصالات تصحيح أخطاء PHP باستخدام أيقونة الهاتف داخل شريط أدوات PhpStorm.

سيبدأ أي من هذين الخيارين في الاستماع إلى الاتصالات.

من هنا ، يمكنك البدء في تعيين نقاط التوقف داخل مزاريب محرر الكود. تشير النقطة الحمراء إلى نقطة توقف ، والتي يمكنك النقر فوقها لتنشيطها:

لقطة مقرّبة لواجهة PhpStorm ، تظهر دليل شجرة على اليسار ولوحة الترميز على اليمين. داخل مزاريب المحرر ، توجد نقاط حمراء مع علامات بيضاء في السطور 45 و 50 و 55. هذه نقاط توقف للتصحيح.
نقاط التوقف داخل الحضيض لصفحة تحرير PhpStorm.

عندما تريد تصحيح التعليمات البرمجية الخاصة بك ، فإن الطريقة الأكثر مباشرة هي بدء الاستماع ، وتعيين نقاط التوقف ، ثم التوجه إلى الصفحة المحددة في متصفحك. حدد موقع رمز الامتداد الخاص بك في المتصفح ، ثم انقر فوقه وحدد خيار "تصحيح":

يُظهر متصفح Mozilla Firefox الخلفية الخضراء (و
تحديد خيار التصحيح في شريط أدوات المتصفح باستخدام ملحق مخصص.

سيؤدي هذا إلى فتح مصحح الأخطاء في PhpStorm وتقديم الأخبار الجيدة أو السيئة:

شاشة PhpStorm جزئية ، تعرض لوحة مصحح أخطاء مفتوحة. يُظهر اليسار نقاط توقف مختلفة ، كاملة بأسماء الملفات وأرقام الأسطر ومراجع الوظائف. يُظهر اليمين قيم المتغيرات في جميع أنحاء الكود ، جنبًا إلى جنب مع أنواع القيمة.
استخدام مصحح أخطاء PhpStorm مع Xdebug.

إذا قمت بالنقر بزر الماوس الأيمن فوق القيم والسمات والمعلمات والمتغيرات المختلفة ، فستتمكن من الوصول إلى قائمة سياق أخرى. يمنحك هذا نطاقًا إضافيًا لاختبار التعليمات البرمجية وتصحيحها:

جزء من واجهة PhpStorm Debugger مع قائمة بنقاط التوقف وأسماء الملفات وأرقام الأسطر ومراجع الوظائف على اليسار. يُظهر اليمين قيمة مميزة داخل الكود ، مع فتح قائمة السياق. من بين الخيارات "تعيين القيمة ..." - طريقة تعيين قيم جديدة للمتغيرات وتصحيح الكود.
استخدام قائمة سياق النقر بزر الماوس الأيمن داخل PhpStorm Debugger لتعيين قيم جديدة.

على سبيل المثال ، يمكنك تعيين قيم مختلفة للمتغيرات على طول المسار. قد تكون هذه محاولة متعمدة لكسر التعليمات البرمجية الخاصة بك ومعرفة ما سيحدث ، أو قد تكون طريقة لاختبار التعليمات البرمجية التي تحتاج بالفعل إلى إصلاح. في كلتا الحالتين ، يمنحك هذا طريقة رائعة لتصحيح أخطاء التعليمات البرمجية الخاصة بك دون الحاجة إلى تغييرها أولاً.

كيف يساعدك Kinsta في تصحيح أخطاء موقع WordPress الخاص بك

يأتي WordPress مع مجموعة خيارات التصحيح الخاصة به من خلال WP_DEBUG وأدوات أخرى ، مثل Query Monitor. تعمل هذه على تمكين وضع ستبدأ فيه في رؤية رسائل الخطأ المخفية مسبقًا في جميع أنحاء موقعك ولوحة المعلومات. من هناك ، يمكنك البدء في معرفة ماهية المشكلة.

يمكنك أيضًا حفظ رسائل الخطأ هذه باستخدام WP_DEBUG_LOG ، مما يمنحك طريقة لتوثيق المشكلات في موقعك. نحن نغطي كيفية إعداد هذا في مقال آخر على المدونة. يعد هذا أمرًا سهل الإعداد من خلال لوحة معلومات MyKinsta (وشاشة المواقع> الأدوات ):

تعرض لوحة معلومات MyKinsta الشريط الجانبي الأيسر الأرجواني وقائمة فرعية رمادية أخرى. هناك خياران للتبديل هنا - أداة بحث واستبدال على اليمين ، وأداة تصحيح أخطاء WordPress على اليسار.
خيار تصحيح أخطاء WordPress داخل لوحة معلومات MyKinsta.

إذا قمت بإقران هذا مع أداة البيئة المحلية المجانية DevKinsta ، فسيكون لديك أيضًا طريقة بنقرة واحدة لتمكين وتعطيل WP_DEBUG لكل موقع تقوم بتشغيله:

لوحة تحكم DevKinsta لموقع واحد. يعرض إعدادات قاعدة البيانات ، بما في ذلك المضيف والمنفذ والاسم وبيانات اعتماد المستخدم. هنالك أيضا
تمكين WP_DEBUG داخل لوحة تحكم DevKinsta.

هذا يعني أنه يمكنك اكتشاف الأخطاء على موقعك أثناء التطوير ، والتأكد من عدم وصولها إلى موقعك المباشر. من السهل أيضًا إيقاف تشغيل هذه الأوضاع - وهي ضرورية لأمان كل من الموقع والمستخدم.

تأتي جميع خطط Kinsta أيضًا مع أداة Kinsta APM المضمنة ، وهي أداة مراقبة الأداء المصممة خصيصًا لمواقع WordPress.

ورقة الغش للأوامر

قبل أن نختتم هذا المنشور ، يجب أن نذكر الاختصارات.

مثل العديد من أجزاء البرامج الأخرى ، هناك طرق مختلفة للتنقل حول Xdebug (و PhpStorm) باستخدام لوحة المفاتيح وحدها. في الواقع ، يمكنك حتى استخدام سطر الأوامر لتصحيح أخطاء نصوص PHP.

بمجرد تشغيل Xdebug ، يمكنك استخدام الأوامر التالية للالتفاف:

يأمر الاختصار
حدد المنفذ المراد الاستماع إليه (مثل [9003] ) -p [value]
يضبط نقطة توقف على السطر المحدد لمسار الملف المحدد. breakpoint_set -t line file:///<path> -n <line>
يقوم بتشغيل البرنامج النصي الخاص بك حتى النهاية ، أو نقطة التوقف التالية run
خطوات إلى السطر القابل للتنفيذ التالي step_into
يسرد المتغيرات والقيم في النطاق الحالي context_get
يعرض قيمة الخاصية المحددة property_get -n <property>

بينما سيكون لمحرر الكود الخاص بك اختصاراته المخصصة ، فإن التركيز هنا ينصب على PhpStorm. ألق نظرة على جدول اختصارات لوحة المفاتيح هذا لاستخدام Xdebug مع PhpStorm:

يأمر شبابيك macOS
البحث عن العمل Ctrl + Shift + A Shift + Cmd + A
افتح المصحح التحول + F9 السيطرة + د
تبديل نقطة التوقف التحكم + F8 كمد + F8
خطوة الى F7 F7
خطوة أكثر F8 F8
مشاهدة نقاط التوقف السيطرة + Shift + F8 Shift + Cmd + F8
استئناف البرنامج F9 F9
قم بتقييم التعبير الحالي Alt + F8 الاختيار + F8

لحسن الحظ ، ليس هناك الكثير لحفظه هنا. يجب عليك فتح مصحح الأخطاء ، وتعيين نقاط التوقف في كل سطر ، والاستماع إلى الاتصالات ، وتشغيل البرامج النصية الخاصة بك.

ومع ذلك ، إذا كنت بحاجة إلى اختصار لمهمة معينة ، فيمكنك استخدام أمر PhpStorm Find Action :

واجهة PhpStorm ، تعرض عرض البحث عن الإجراء. هناك العديد من عوامل تصفية البحث للكل ، والفئات ، والملفات ، والرموز ، والإجراءات ، و Git. مصطلح البحث هو
باستخدام قائمة Find Action داخل PhpStorm.

بمجرد أن تبدأ في الكتابة في هذه المساحة ، ستظهر لك قائمة ديناميكية من الأوامر والاختصارات ذات الصلة. يمكنك أيضًا العثور على إصدار PDF لجميع اختصارات لوحة المفاتيح من خلال قائمة تعليمات> اختصارات لوحة المفاتيح بتنسيق PDF .

إذا كنت تريد المزيد من إلقاء نظرة في الوقت الفعلي على الاختصارات أثناء عملك باستخدام الماوس ، فإن JetBrains يوفر المكون الإضافي Key Promoter X:

نافذة واجهة PhpStorm ، تعرض عددًا من الخيارات للعثور على الملفات والمشاريع جنبًا إلى جنب مع الاختصارات المقابلة. يوجد إشعاران في الركن الأيمن السفلي بتنسيق
تعرض واجهة PhpStorm إشعارات Key Promoter X.

ستعرض هذه الأداة المفيدة إشعارات بآخر إجراء تم تنفيذه ، إلى جانب اختصار لوحة المفاتيح المرتبط به. بمجرد تعلم الاختصارات واستخدامها ، يمكنك التخلص من هذا المكون الإضافي واستعادة تلك العقارات القيمة إلى شاشتك.

كما يمكن لأي مطور أن يشهد ، فإن الكود ليس جاهزًا أبدًا للإنتاج بعد المسودة الأولى. التصحيح هو المفتاح - حيث يأتي Xdebug في Click to Tweet

ملخص

لقد قطعت ممارسة التصحيح شوطًا طويلاً منذ بداياتها المتواضعة. إنه يشمل الآن نطاقًا أوسع بكثير مما كان يمكن أن يتخيله أسلافه. لتنفيذ مهمة شاملة عندما يتعلق الأمر بإصلاح كود PHP الخاص بك ، ستحتاج إلى استخدام أداة مختصة. هناك العديد من الإضافات والأدوات الرائعة للاختيار من بينها ، ولكن Xdebug هو المرشح الأوفر حظًا.

كما رأينا ، يمكن لـ Xdebug التكيف مع أكثر الأذواق انتقائية في برامج تحرير التعليمات البرمجية ، وهي رائعة بشكل خاص عند إقرانها مع PhpStorm. ومع ذلك ، بغض النظر عن الإعداد الخاص بك ، سيكون هناك غالبًا إصدار من Xdebug يناسب احتياجاتك. بشكل عام ، إنها أداة قوية ومرنة وبديهية للاستخدام.

هل تعتقد أن Xdebug يستحق ثناءه الكبير ، أم أن هناك أداة تصحيح أخطاء أخرى تفضلها؟ واسمحوا لنا أن نعرف في قسم التعليقات أدناه!