Make WordPress Core


Ignore:
Timestamp:
06/28/2015 03:26:41 PM (11 years ago)
Author:
jorbin
Message:

Deprecate php4 style constructors

PHP7 is deprecating PHP4 style constructors, so we need to modify our code to have _construct methods that fire before the named PHP4 style constructors. The PHP4 style constructors will call the PHP5 style constructor in case it is being called directly (usually via parent::METHOD).

This modifies external libraries to add PHP5 style constructors, but doesn't add a notice for when they are used. In WordPress core code, PHP4 style constructors are being given a call to _deprecated_constructor. To the PHP4 style constructor I say "I know that I can't take no more | It ain't no lie | I wanna see you out that door | Baby, bye, bye, bye..."

Upstream: https://wiki.php.net/rfc/remove_php4_constructors

Props jdgrimes, netweb, jorbin
See #31982

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/widgets.php

    r32639 r32990  
    174174         */
    175175        public function WP_Widget( $id_base, $name, $widget_options = array(), $control_options = array() ) {
     176                _deprecated_constructor( 'WP_Widget', '4.3.0' );
    176177                WP_Widget::__construct( $id_base, $name, $widget_options, $control_options );
    177178        }
     
    564565        public $widgets = array();
    565566
     567        /**
     568         * PHP5 constructor.
     569         */
     570        public function __construct() {
     571                add_action( 'widgets_init', array( $this, '_register_widgets' ), 100 );
     572        }
     573
     574        /**
     575         * PHP4 constructor.
     576         */
    566577        public function WP_Widget_Factory() {
    567                 add_action( 'widgets_init', array( $this, '_register_widgets' ), 100 );
     578                _deprecated_constructor( 'WP_Widget_Factory', '4.2.0' );
     579                self::__construct();
    568580        }
    569581
Note: See TracChangeset for help on using the changeset viewer.