WordPress.org

Make WordPress Core


Ignore:
Timestamp:
06/28/2015 03:26:41 PM (4 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/class-phpass.php

    r30466 r32990  
    4040    var $random_state;
    4141
    42     function PasswordHash($iteration_count_log2, $portable_hashes)
     42    /**
     43     * PHP5 constructor.
     44     */
     45    function __construct( $iteration_count_log2, $portable_hashes )
    4346    {
    4447        $this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
     
    5154
    5255        $this->random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compatibility reasons
     56    }
     57
     58    /**
     59     * PHP4 constructor.
     60     */
     61    public function PasswordHash( $iteration_count_log2, $portable_hashes ) {
     62        self::__construct( $iteration_count_log2, $portable_hashes );
    5363    }
    5464
Note: See TracChangeset for help on using the changeset viewer.