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



git-svn-id: https://develop.svn.wordpress.org/trunk@32990 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Aaron Jorbin
2015-06-28 15:26:41 +00:00
parent 6c8944b6ea
commit 4a60647ab7
19 changed files with 415 additions and 54 deletions
+11 -1
View File
@@ -87,7 +87,10 @@ class AtomParser {
var $feed;
var $current;
function AtomParser() {
/**
* PHP5 constructor.
*/
function __construct() {
$this->feed = new AtomFeed();
$this->current = null;
@@ -95,6 +98,13 @@ class AtomParser {
$this->map_xmlns_func = create_function('$p,$n', '$xd = "xmlns"; if(strlen($n[0])>0) $xd .= ":{$n[0]}"; return "{$xd}=\"{$n[1]}\"";');
}
/**
* PHP4 constructor.
*/
public function AtomParser() {
self::__construct();
}
function _p($msg) {
if($this->debug) {
print str_repeat(" ", $this->depth * $this->indent) . $msg ."\n";