it-swarm.asia

كيف يمكنك تصحيح الإضافات؟

أنا جديد تمامًا في تأليف المكوّن الإضافي وكانت تواجه صعوبة في تصحيح الأخطاء.

اعتدت الكثير من الصدى وهي قذرة وقبيحة.

أنا متأكد من أن هناك طريقة أفضل للقيام بذلك ، ربما IDE مع مصحح أخطاء يمكنني تشغيل الموقع بأكمله بما في ذلك المكون الإضافي؟

47
Sruly

انتقل إلى wp-config.php وقم بتغيير define('WP_DEBUG', false); إلى define('WP_DEBUG', true);. أيضا ، تثبيت أندرو Nacin's سجل إهمال الإشعارات البرنامج المساعد.

21
John P Bloch

إذا كنت تتلقى أخطاء ، فستكون x-debug امتدادًا رائعًاPHP يضيف backtraces الحديثة إلى PHP.

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

12
tomdxw

استخدم xdebug + NetBeans IDE. عند التكوين الكامل - وهو أمر سهل - يمكنك تعيين نقاط فاصل في البرنامج المساعد ومشاهدة المتغيرات في نقاط الاستراحة. أعتقد أنها أفضل طريقة لتصحيح المكونات الإضافية أو أي تطبيقات php لهذه المسألة.

10
Raj

أقوم بتصحيح الطريقة القديمة ، error_log()ing و var_dumping. أجد أن هذه هي الطريقة الأكثر فاعلية بالنسبة لي ، لديّ دالتين من أدوات التجميع للتعامل مع أنواع مختلفة من البيانات ، لأن صفيفات وكائنات error_loging يمكن أن تكون مؤلمة. أيضًا ، يمكن أن يكون استخدام print_r() صعباً في القراءة عندما لا يكون في <pre>. لدي tj_log() من أجل تسجيل الخطأ و tj() لعرض المخرجات (والتي تُظهر أساسًا أي نوع بيانات في مانور أنيق:

function tj( $code ) {

    ?>
    <style>
        .tj_debug { Word-wrap: break-Word; white-space: pre; text-align: left; position: relative; background-color: rgba(0, 0, 0, 0.8); font-size: 11px; color: #a1a1a1; margin: 10px; padding: 10px; margin: 0 auto; width: 80%; overflow: auto; -moz-box-shadow:0 10px 40px rgba(0, 0, 0, 0.75); -webkit-box-shadow:0 10px 40px rgba(0, 0, 0, 0.75); -moz-border-radius: 5px; -webkit-border-radius: 5px; text-shadow: none; }
    </style>
    <br /><pre class="tj_debug">

    <?php
    if ( is_null( $code ) || is_string($code) || is_int( $code ) || is_bool($code) || is_float( $code ) ) :
        var_dump( $code );

    else :
        print_r( $code );

    endif;

    echo '</pre><br />';

}

function tj_log( $code ) {

    if ( is_null( $code ) || is_string($code) || is_int( $code ) || is_bool($code) || is_float( $code ) ) :
        $code = var_export( $code, true );

    else :
        $code = print_r( $code, true );

    endif;

    error_log( $code );

}

إذن فأنا أفعل فقط: tj( $current_user ); أو أيا كان.

6
Joe Hoyle

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

http://github.com/hunk/Magic-Fields/blob/master/tools/debug.php

ما عليك سوى فعل شيء مثل:

Debug :: log ("هذه رسالة تصحيح") ؛

عند تنفيذ هذا السطر ، ستتم إضافة الرسالة في ملف السجل وبعد ذلك يمكنك استخدام الأمر tail (إذا كنت تستخدم نظام تشغيل نمط بعض أنظمة يونيكس)

tail -f mylogfile.log

إذا كنت تستطيع تمرير إلى هذه الوظيفة مجموعة أو كائن كذلك.

note تحتاج إلى تغيير السطر 20 لمسار حيث تريد حفظ ملف السجل الخاص بك

5
Gnuget

بعد العبث بعدد من IDE ، استقرت في old Notepad ++ مع نظام ألوان تمييز بناء جملة مخصص للغاية.

لدي ماكرو إعداد بحيث عندما تضغط على Shift-Ctrl-X ، يحصل الكود التالي على الإخراج حيث يكون المؤشر الخاص بي:

echo "<pre>";
var_dump($);
echo "</pre>";
exit();

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

5
SethMerrick

أستخدم Aptane IDE على نظامي Linux و UltraEdit على نظام التشغيل Windows ، ويحتوي هذا الإصدار أيضًا على محلل PHP. أيضًا ، أشاهد جميع التلميحات من xDebug مع WP_DEBUG الثابت المحدد في wp-config.php.

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

3
bueltge

ليس بهذا السوء أيضًا: Eclipse إنه قريب من PhpStorm + مجانًا.

2
kaiser

أوصي التحقق من FirePHP . يمكنك إرسال معلومات تصحيح الأخطاء إلى Firebug's Firebug عبر رؤوس HTTP ، مما يجعل عادةً لإخراج debug أنظف.

2
Annika Backstrom

هناك نوعان من IDEs يمكنني أن أوصي بهما وقد استخدمتهما على نطاق واسع: PhpED ((Windows فقط) و PhpStorm + XDEBUG (Mac و Windows و Linux.) الأخير.

كلاهما الصخرة! والخبر السار أن PhpStorm هو 49 دولارًا قبل سبتمبر 2010 و 99 دولارًا فقط بعد ذلك. إذا كنت على نظام Windows وأضطررت للاختيار مرة أخرى ، فليس متأكداً من اختياره.

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

1
MikeSchinkel

Krumo - فئة التصحيح على غرار php

شيء آخر لطيف حقا هو فئة "krumo" php. يتم تطبيقه في غضون دقيقة ويوفر طريقة سهلة لتصحيح كل أنواع المتغيرات:

  • شاء،
  • المصفوفات،
  • سلاسل/تعويم/صحيح/الخ.

Plus يساعد في backtracing ، ويظهر الطبقات المحملة أو الملفات المضمنة وكل شيء عند الطلب.

Plus إنه مجاني!

تحميل

Krumo sourceforge

1
kaiser

أولاً ، أضيف define('WP_DEBUG', false); إلى ملف wp-config.php (كما قال معظم الناس) في التثبيت المحلي الخاص بي والذي يعد نسخة حديثة من موقع إنتاج ذي صلة (كل من الملفات والبيانات). هذا يجعل الأشياء سريعة وآمنة ومنفصلة ولكنه يعكس جيدًا مكانًا واحدًا على الأقل سيستخدم فيه البرنامج المساعد.

أود أيضًا إضافة Debug Bar plugin مع بعض من الوظائف الإضافية Debug Bar (العابرون على سبيل المثال) - بما يتناسب مع الإضافات الخاصة بك.

يمكنني أيضًا استخدام الوظيفة الإضافية Firebug لمتصفح Firefox ، وهي ميزة ممتازة للمساعدة في تعقب مشكلات html و css و JavaScript أيضًا للنظر في غرابة التصميم.

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

وبالطبع لدي عادةً بعض الصفحات المناسبة من المخطوطة المفتوحة في علامة تبويب أخرى على نموذج مناسب.

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

أوه ، ولا حرج في وجود صدى في وضع جيد أو print_r للتحقق من شيء في مفتاح ما (طالما تقوم بإزالته عند الانتهاء).

0
Lunc

راجع Query Monitor مقترنة Query Monitor Extend لتصحيح الأخطاء الشاملة في WordPress (أخطاء/إشعارات PHP/التحذيرات/التحذيرات ، استعلامات قاعدة البيانات ، المسارات ، الثوابت ، طلبات HTTP ، العابرون ، متغيرات الجلسة ، var dumps) .

تحقق أيضًا من جميع منشورات المشاركة و حفظ ما الإضافات للحصول على معلومات محددة عن المشاركات.

0
Caleb

PHPStorm و Xdebug هي لعبة تتغير بالنسبة لي لتطوير WordPress. نوصي بشدة الآن. خاصة مع أدوات التصحيح المضمنة الخاصة بهم.

0
Emanuel Rocha Costa

أنا أستخدم phpED و xdebug لكن بالنسبة لي (ويبدو لشخص آخر) من المستحيل تصحيح الإضافات أو ملف السمة! المصحح يتوقف فقط على نقاط التوقف الموجودة في الملفات الأساسية أو الأصلية! يمكن لأي شخص مساعدتي؟

0
Kreker