Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:49132 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 11333 invoked from network); 23 Jul 2010 18:06:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 23 Jul 2010 18:06:27 -0000 Authentication-Results: pb1.pair.com header.from=chx1975@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=chx1975@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.83.42 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: chx1975@gmail.com X-Host-Fingerprint: 74.125.83.42 mail-gw0-f42.google.com Received: from [74.125.83.42] ([74.125.83.42:45980] helo=mail-gw0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7A/5A-53775-12AD94C4 for ; Fri, 23 Jul 2010 14:06:26 -0400 Received: by gwj15 with SMTP id 15so906706gwj.29 for ; Fri, 23 Jul 2010 11:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:sender:received :in-reply-to:references:from:date:x-google-sender-auth:message-id :subject:to:cc:content-type; bh=Iid81dWDMOAQ40nhFkAcrchecWcLRpYxzxk5Y9R4APg=; b=RUgXyIJJj2eC1R6pM8iUbCNMYPv/UGae6pSF8W/F33fSqgDOMmnwg+9Um3RTsLLA23 jy9EqvfW22K7NkOASqEFqWT7ZGYjidTBaY1qzH0Vnzo1Zo0vF42lfURCMOU8J1fQRriY loqRIkfdCeeq1QnsJbgawqf5nis18viqkRkvs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=XXf9/vX9M0z910aI43Ej9q3K1BYoQrs+K6Ypy+zbfyUhMTdDeAUtRK9KnLyMQe5rnJ Jry522mJ7NzDVMMzMQ2WpIya6a6uC9j8R5eU4c91L5agmtHNmYY+tajEZjxz14QXK/qO QXAiR7NccrarRFc/83sY14atnRPYkSq8WPEWY= Received: by 10.90.82.4 with SMTP id f4mr3847420agb.129.1279908381497; Fri, 23 Jul 2010 11:06:21 -0700 (PDT) MIME-Version: 1.0 Sender: chx1975@gmail.com Received: by 10.91.154.15 with HTTP; Fri, 23 Jul 2010 11:06:01 -0700 (PDT) In-Reply-To: References: <730E72B7-B2C3-4FF9-8138-F04659ECDB56@php.net> <4C4950B2.40805@thelounge.net> Date: Fri, 23 Jul 2010 11:06:01 -0700 X-Google-Sender-Auth: Dx4nXRR7-GlCgnyqpoN120UFyfM Message-ID: To: Adam Harvey Cc: "internals@lists.php.net" Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] Remove variable function and method calls From: karoly@negyesi.net (Karoly Negyesi) Hm, a touch of civility. OK let me retry then. So what I tried to say is this: If you treat ::$ as a single construct in your mind then you will get classname::$foo() wrong. Of course the rule is that classname::.....() is a method call but it's less evident by just looking at the code. I have suggested that removing the $foo() construct completely, $foo(), $bar->$foo(), bar::$foo() all would solve this and although it breaks backwards compatibility, there is a perfect replacement by using call_user_func() instead. I have implied that PHP does not care about backwards compatibility breaking and this especially will be true for the next release. This was supported by my experience working with various PHP versions over many years. I can of course understand that code cleanup needs to make certain things go away. If noone maintains ereg, it needs to be deprecated. Fine. It now throws an E_DEPRECATE error which is also completely new. Once again I understand the reasons for introducing E_DEPRECATE but it does not change the nature of the beast. Some code cleanup made necessary to not accept NULL as an empty array which might be more debatable because NULL is casted happily to zero and empty string as necessary without a word and so why it's not to empty array. But, that's not the point and it's way too late by many years anyways. The point is that PHP does break backwards compatibility going against the public perception. This same false belief is seemingly held by some PHP developers too -- didn't Adam just say that such changes need to be fought hard and supported by strong arguments? I want to see strong arguments for not casting NULLs into empty arrays :) I could report breakage but I sincerely doubt it would change anything because they are made for good. Once again: the hell is not the changes, it's the expectation that old code runs on new PHP unmodified. As for Drupal, very briefly, I only included it to show that I use PHP and a lot and there is more than me here. If by 'no comment' you mean Drupal sucks, then I merrily agree with you. Two things to note: one, believe me when I say you won't find anyone alive who knows more about the shortcomings of Drupal architecture and implementation than me. By this point, I am probably responsible for more than I want to admit. Two, "All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005." http://buytaert.net/drupal-sucks-less Regards Karoly Negyesi