#18049 closed defect (bug) (fixed)

PHP 5.4 compatibility warnings on creating default object from empty value

Reported by: eko-fr Owned by: nacin
Priority: normal Milestone: 3.3
Component: Warnings/Notices Version: 3.2
Severity: normal Keywords: has-patch
Cc:

Description

After installing PHP 5.4 alpha2-dev on my debian server, I had the following warnings:

Warning: Creating default object from empty value in /var/www/blog/wp-includes/user.php on line 660

Warning: Creating default object from empty value in /var/www/blog/wp-includes/class-wp-admin-bar.php on line 167

I made a little diff patch to correct the problem (attached). It's also available here: https://gist.github.com/1073475

Attachments (2)

diff (1.4 KB) - added by eko-fr 23 months ago.
18049.patch (544 bytes) - added by SergeyBiryukov 20 months ago.

Download all attachments as: .zip

Change History (13)

comment:1 follow-up: ↓ 5   scribu23 months ago

  • Milestone Awaiting Review deleted
  • Resolution set to maybelater
  • Status changed from new to closed

It's premature to worry about warnings in a development version of PHP.

Feel free to reopen when PHP 5.4 final is released.

  • Milestone set to Awaiting Review
  • Resolution maybelater deleted
  • Status changed from closed to reopened

the current theme one has been mentioned elsewhere, however, These do need at least a new stdClass; added in.

These are not just a php 5.4 thing either.. the error level has just changed for the notice i believe.

from php.net

Please note that some legacy features have been removed, including: 
■Removed: break/continue $var syntax
■Removed: register_globals, allow_call_time_pass_reference, and register_long_arrays ini options
■Removed: session_is_registered(), session_registered(), and session_unregister()

In [18560]:

Instantiate some MS variables as objects before using them. Spaces not tabs for vertical alignment. Remove unnecessary conditional piece. props PeteMall, see #18049.

comment:5 in reply to: ↑ 1   ramoonus21 months ago

Replying to scribu:

It's premature to worry about warnings in a development version of PHP.

Feel free to reopen when PHP 5.4 final is released.

it sounds more usefull to me to reopen when the beta or RC comes out
so if people switch to 5.4.0 final ... there won`t be a problem

Last edited 21 months ago by ramoonus (previous) (diff)

is this planned for 3.3 or 3.2.x?

  • Milestone changed from Awaiting Review to 3.3

I'm in favour; the same problems all occur in 5.3 with E_STRICT enabled, which is a pain for testing if you want to make your own code E_STRICT compatible.

  • Owner set to nacin
  • Resolution set to fixed
  • Status changed from reopened to closed

In [18563]:

Some more class instantiations. props eko-fr, fixes #18049.

  • Resolution fixed deleted
  • Status changed from closed to reopened

In /wp-admin/edit.php on the bottom, you will see

Warning: Creating default object from empty value in /home/wordpress/www/wp-admin/includes/post.php on line 428

I'm not sure how to create a .patch file for it, but adding the following line to line 427/428 fixes it:

		$post = new StdClass();
  • Resolution set to fixed
  • Status changed from reopened to closed

In [18847]:

Initialize the post object in get_default_post_to_edit(). props tech163. fixes #18049.

Note: See TracTickets for help on using tickets.