[wp-hackers] DEBUG config and blocking notices
Mike Schinkel
mikeschinkel at newclarity.net
Tue Jul 20 01:33:09 UTC 2010
On Jul 19, 2010, at 3:02 PM, Andrew Nacin wrote:
> On Mon, Jul 19, 2010 at 2:56 PM, Jeremy Clarke <jer at simianuprising.com>
> wrote:
>
>> If you don't want notices then you shouldn't be using WP_DEBUG.
>
> But you should want notices. Just saying.
>
> Speficially, running WP_DEBUG is pretty much mandatory for any core
>> development
>
> because all the core devs have it turned on
>
> Also true.
>
> Writing your own code to not generate notices is easy and good for business
> in all kinds of ways. The process of declaring/checking your variables
> before use leads you to avoid a lot of mysterious and rare bugs down the
> line, and helps you clean up your code in the process.
Andrew & Jeremy,
I can't speak for Andrew Gray but I think one of the reasons he might be interested in just errors is because that many (most?) plugins were not developed with WP_DEBUG and spew lots of errors. So while it may be a great idea to use WP_DEBUG when hacking on core or building a plugin in a vacuum, it is often impractical when working on plugins or themes on real world website implementations. So in general I (am rarely in a position where I can) develop with it.
OTOH I'd really *prefer* to using WP_DEBUG but what is stopping me are the plugins the client wants or needs that were not coded with WP_DEBUG. Part of the problem is that very few places recommend WP_DEBUG (I didn't even learn about it until a few months ago by reading someone else's off-hand remark on the hackers list) but more importantly there is no place in the WordPress.org repositories where a plugin or theme can be lauded for their use of WP_DEBUG. For the "3.org" refresh, Is there a way we can automatically verify which plugins actually do support WP_DEBUG and which do not? That would go a huge way towards allowing us to actually use WP_DEBUG when developing for real world implementations
-Mike
P.S. I tried it again and it seems that it even throughs errors in core code (or at least it seems that way.) The following error came from my call to add_submenu_page() in an admin_menu hook:
Notice: has_cap was called with an argument that is <strong>deprecated</strong> since version 2.0! Usage of user levels by plugins and themes is deprecated. Use roles and capabilities instead. in /Users/mikeschinkel/Sites/client/trunk/wp-includes/functions.php on line 3321
Call Stack:
0.0007 740168 1. {main}() /Users/mikeschinkel/Sites/client/trunk/wp-admin/admin.php:0
0.3520 32696800 2. require('/Users/mikeschinkel/Sites/client/trunk/wp-admin/menu.php') /Users/mikeschinkel/Sites/client/trunk/wp-admin/admin.php:93
0.3663 32754208 3. do_action() /Users/mikeschinkel/Sites/client/trunk/wp-admin/menu.php:328
0.3671 32738840 4. call_user_func_array() /Users/mikeschinkel/Sites/client/trunk/wp-includes/plugin.php:395
0.3671 32738872 5. WP_InitializeSite::admin_menu() /Users/mikeschinkel/Sites/client/trunk/wp-includes/plugin.php:0
0.3671 32739264 6. add_submenu_page() /Users/mikeschinkel/Sites/client/trunk/wp-content/plugins/wp-initialize-site/wp-initialize-site.php:67
0.3672 32739840 7. current_user_can() /Users/mikeschinkel/Sites/client/trunk/wp-admin/includes/plugin.php:929
0.3672 32740712 8. call_user_func_array() /Users/mikeschinkel/Sites/client/trunk/wp-includes/capabilities.php:1067
0.3672 32741096 9. WP_User->has_cap() /Users/mikeschinkel/Sites/client/trunk/wp-includes/capabilities.php:0
0.3673 32741416 10. _deprecated_argument() /Users/mikeschinkel/Sites/client/trunk/wp-includes/capabilities.php:722
0.3673 32741928 11. trigger_error() /Users/mikeschinkel/Sites/client/trunk/wp-includes/functions.php:3321
More information about the wp-hackers
mailing list