Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82075 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57523 invoked from network); 7 Feb 2015 02:28:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Feb 2015 02:28:24 -0000 Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.216.172 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.216.172 mail-qc0-f172.google.com Received: from [209.85.216.172] ([209.85.216.172:39457] helo=mail-qc0-f172.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0F/00-55814-74875D45 for ; Fri, 06 Feb 2015 21:28:24 -0500 Received: by mail-qc0-f172.google.com with SMTP id x3so14941512qcv.3 for ; Fri, 06 Feb 2015 18:28:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=hBFWVGBTIkyR63Pu9urBwc+4aufduKbVyeUn2MCX/Vs=; b=U8DiFkQCOfwEmCq2IOP2TSLwVxNIPbpQvwkd9Q3Bfo65Aw0B++4iXHxMRRSq7zn3xL h8ATycNOrh6LOJF+Pje66qV/0kI6CqnDhzFI4mJnXzb+7xJDSdsE7kHY/KbXK65ioqkE crCqkuJutg/d+53FzdWhucsWrU24U44S43wmvhs4MktMbSleg5BkbceVv0P9lJU0Mh15 t3gHhZ2UnfEDLBkMkeMXcTJP82XdlQgzp2rJ4L3w14rO++mWxmsKSrQJaLCHIy2/XyDD et2DAycmZajy+TjcB8ixdH8h7CivIaKtY3GLcsK2284fsRH8DzlSOZDoWdT5fKS06Tb1 Wzfg== MIME-Version: 1.0 X-Received: by 10.224.89.65 with SMTP id d1mr15319177qam.40.1423276101608; Fri, 06 Feb 2015 18:28:21 -0800 (PST) Received: by 10.96.3.168 with HTTP; Fri, 6 Feb 2015 18:28:20 -0800 (PST) Received: by 10.96.3.168 with HTTP; Fri, 6 Feb 2015 18:28:20 -0800 (PST) In-Reply-To: References: <54D3EE95.2080109@lerdorf.com> Date: Sat, 7 Feb 2015 09:28:20 +0700 Message-ID: To: Rasmus Lerdorf Cc: PHP internals , Guilherme Blanco Content-Type: multipart/alternative; boundary=001a11c3bb8e7428ee050e764a61 Subject: Re: [PHP-DEV] Annotated PHP 5->7 extension diff From: pierre.php@gmail.com (Pierre Joye) --001a11c3bb8e7428ee050e764a61 Content-Type: text/plain; charset=UTF-8 On Feb 6, 2015 6:45 AM, "Rasmus Lerdorf" wrote: > > On Feb 5, 2015, at 17:41, "guilhermeblanco@gmail.com" < guilhermeblanco@gmail.com> wrote: > > > > Hi Rasmus, > > > > Thanks for the highlight. > > My biggest concern about all this breakage done for NG could somehow be minimized by providing possible alternate implementations that could work both backwards compatible and forwards compatible? > > I just don't want to work on extensions I support that would never be usable in earlier versions once finished the update. > > > > Maybe it would be interesting to have samples of before/after (like you did) and also samples of of compatibility pieces for PHP 7- and PHP 7+. > > That is one of the reasons an annotated diff would be good. All the changes in the diff aren't strictly needed. I didn't need to change from "s" to "S" in ZPP and the accompanying change to zend_string for example, but I find the new API cleaner and less error-prone. What do you think about the creation of an example extension covering almost everything one would do in an extension? The class, methods or functions do not have to be useful but to have simple clear examples to display the differences with extensive comments. Doing so has the big advantage of being self contained and anyone can contribute easily. It is also easier for someone to actually play with it than with a diff. I was thinking about that for a workshop I have to give in April. Cheers Pierre --001a11c3bb8e7428ee050e764a61--