Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:96066 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 59050 invoked from network); 21 Sep 2016 16:19:47 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Sep 2016 16:19:47 -0000 Authentication-Results: pb1.pair.com smtp.mail=nikita.ppv@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=nikita.ppv@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.161.172 as permitted sender) X-PHP-List-Original-Sender: nikita.ppv@gmail.com X-Host-Fingerprint: 209.85.161.172 mail-yw0-f172.google.com Received: from [209.85.161.172] ([209.85.161.172:33494] helo=mail-yw0-f172.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 40/D8-04117-123B2E75 for ; Wed, 21 Sep 2016 12:19:46 -0400 Received: by mail-yw0-f172.google.com with SMTP id i129so61990084ywb.0 for ; Wed, 21 Sep 2016 09:19:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=+1CcVOlaCI0bgdZ0dBciEJeLmUDK8zeYJfdekgRmXts=; b=UC74ILYvdXsp3uX6Cfov9uEPYulGFl5FGCGbTxcwrEW87PyhhxeKm1TRqwMdIwwHti bzpKZCAJ5ElATMI8GtMkjVPCLP1hDj+YP3/xcIrSVttk3BtOt0sesI1tphZCYOYGqhPC bedl+b59CktUTSD9mpPhV//myZBZDwuDj2OFSqN19EKyQaxw+PkrFL5EtWQyt9ipMHRt 0DMTeQQ8uMvLeTe//deXnnAUIxK+O9d8boJ0hWr6f6HGzExmyr+QxgD2neDQ7Qb3JQ5s LECZ97m9OTZCKR6exRu9m/Q7QvTezTpOU2coq5cBJifFVEzIzalIF6o3Uwyw0L1uq8Nw 0AIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=+1CcVOlaCI0bgdZ0dBciEJeLmUDK8zeYJfdekgRmXts=; b=SduZ6Q3nfu/3/sMMTMS29vCgW/MYsSWfrgSaY1Jfz4DnFUomM4RVcyrzpZiFhYWDTz PCoY4IFNfc5rSTa9cGn1ci+TH4xt3pKDeQzFCa55f4KMA3ZMibIzl4hwh3kgOl0C1irV Esce5Cfo3cEGJw6oMkhsScZSVUE6eNr/gh9vv6NYot3LNrfkHvP0XROUz5M1Gvhx0DO2 8Jdwp6YSOaM5lj/EW14SvI2Jg/1nqoXLsKnaIysh5Zp25IZmxa+GcUSvoKggFCRzwDVM xRJeNnUJARmPCslapEw1SwFI7Ou6lp1iqmyKFWN5vw6PZYloU1IIduSHgAjUe6m6BH5p vCUQ== X-Gm-Message-State: AE9vXwNBLhxQ9oA1Sz9CMHlX7fSHeDd32BH1SB6217xaHrmtt6G0kMU7IyCfmWj7dtdcZyi49SxBpePV4D4D2w== X-Received: by 10.129.153.71 with SMTP id q68mr11616252ywg.4.1474474782466; Wed, 21 Sep 2016 09:19:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.215.150 with HTTP; Wed, 21 Sep 2016 09:19:41 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Sep 2016 18:19:41 +0200 Message-ID: To: Nicolas Grekas Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=94eb2c0bcc20a3a920053d06e9a6 Subject: Re: [PHP-DEV] Fix ReflectionType::__toString() BC break From: nikita.ppv@gmail.com (Nikita Popov) --94eb2c0bcc20a3a920053d06e9a6 Content-Type: text/plain; charset=UTF-8 On Wed, Sep 21, 2016 at 6:13 PM, Nicolas Grekas wrote: > > >> See https://github.com/php/php-src/pull/2136 >>> >> >> I don't like this. >> > > I understand, really. I do have to deal with BC on Symfony side also and > it's a really hard constraint. Yet, we stick to it as much as possible, in > order to not add pain to others. > Sometime, we have to be pragmatic and accept solutions that are not > "pure", for the shake of our BC promise. > > PHP internals has such a BC policy, it should really stick to it. It's not > always fun, for sure, but the pain for others it strong. It's not only > me&Ocramius, nor Symfony&Zend: everybody not following internals to adapt > to latest BC breaks will be hit, potentially. This is bad for the > reputation of PHP. It makes the PHP platform unstable as far as confidence > is concerned. > > In this case, we should find a technical solution that preserves BC. Being > this patch or unconditionally returning the type name with nullable info is > fine, you'll decide what's best. > > But please don't consider BC as something that one can bypass when it gets > annoying. > > Thanks from me and from many others for considering :) > > Nicolas > Thank you for quoting a single sentence out of a larger mail and completely ignoring the rest :/ I don't insist on keeping the current behavior. I'm just saying that if we don't keep it, we should also deprecate the method. This is both backwards-compatible (per the usual interpretation that a deprecation is not a BC break) and ensures that "everybody not following internals to adapt to latest BC breaks" is still made aware that they should change their code to use the getName() API in 7.1 to avoid future problems of this kind. Nikita --94eb2c0bcc20a3a920053d06e9a6--