[wp-hackers] DEBUG config and blocking notices

Mike Schinkel mikeschinkel at newclarity.net
Tue Jul 20 02:06:38 UTC 2010


Further, if you use  WP_DEBUG with a plain vanilla WP 3.0 site and activate Akismet you get this notice:
Notice: register_sidebar_widget is <strong>deprecated</strong> since version 2.8! Use wp_register_sidebar_widget() instead. in ~/wp-includes/functions.php on line 3237
Akismet. Shipped with WordPress core even.  Can you see why maybe WP_DEBUG is not (currently) a panacea?

-Mike

On Jul 19, 2010, at 9:33 PM, Mike Schinkel wrote:

> 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
> 
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers



More information about the wp-hackers mailing list