Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99228 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26159 invoked from network); 29 May 2017 11:01:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 29 May 2017 11:01:51 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.41 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.41 mail-wm0-f41.google.com Received: from [74.125.82.41] ([74.125.82.41:35079] helo=mail-wm0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 61/33-34073-E9FFB295 for ; Mon, 29 May 2017 07:01:50 -0400 Received: by mail-wm0-f41.google.com with SMTP id b84so51383254wmh.0 for ; Mon, 29 May 2017 04:01:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:user-agent:in-reply-to:references:mime-version :content-transfer-encoding:subject:to:from:message-id; bh=jIwLDkExLv50bv291xkLB5/208Hig4zg32NnizsB1m4=; b=gTtyz1TCSuDnMyVGuMNeN1vP4q89H4g2BKPjTNUnwUYnNFZp5SCKvMVrt7MUeJZasq grvjvE2OB4ye3MFYAI1+mbsNtHca6obgius0BRaS4ScyPczMKi7/sBxgDjaLg+HCxIlG oBxEM8umPQGNpB1DEgHGYhnRoCQ/IJOH2tzO4O3J7YNxGewEvW35eVCwCze8Q2DKfZ0F tnxmDLF/ulKVA3w0a4ibTNigARt31PGtgu46zKKTZ5fFEnl/d1tm5HPOU9c+1DjsRT3G 0WjuRTtbw1iXDCStYxyoHUZlpaMnuurqO+XVUopm2Hb4yPhpgpNLDI859mdhx0E7Q5N5 D7PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:user-agent:in-reply-to:references :mime-version:content-transfer-encoding:subject:to:from:message-id; bh=jIwLDkExLv50bv291xkLB5/208Hig4zg32NnizsB1m4=; b=PBgr86deIaWCIsaNXMeIAcCykIKlUWlkEgtCiofFEN/NJsYQmmQWqToUhu27w4GKz9 imaSHbT6ymu2ipCNANmwf/xbk0l6tbIr78bdTUIdxwcQWGH4cyQul32ikIOr9+QdMSLr vWFP0CoqdvtLtHxZqx/QL6NTgCXFDgWeTa0pK26H5oJGoxiGbLurEqMw4rC+o8WYH3Rv ZkUta6hLtxFd00pz3ExswBc/49cpc2vxK/b3mRdOEb3BxCpY35CjAkAK9xJX/1dePNbn itWRA6v72T6yH1IcVQIf2/oIEI3J3jfQX3lKPI2r56Y4Bi5toearXX4D083WKefrTZ0v DDpw== X-Gm-Message-State: AODbwcCzwRV/fFkFokn1Kp8r86Zto+fCIXQfYIYooS/0Xbu5Dwr/177U 5H+RHNVYkN6A6bRR1jM= X-Received: by 10.223.170.134 with SMTP id h6mr11882396wrc.36.1496055707355; Mon, 29 May 2017 04:01:47 -0700 (PDT) Received: from [10.145.251.204] (92.40.249.115.threembb.co.uk. [92.40.249.115]) by smtp.gmail.com with ESMTPSA id 1sm14554333wrw.32.2017.05.29.04.01.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 May 2017 04:01:46 -0700 (PDT) Date: Mon, 29 May 2017 12:01:40 +0100 User-Agent: K-9 Mail for Android In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable To: internals@lists.php.net Message-ID: <4CFF3E6E-5B9B-49CE-9603-33170CD63421@gmail.com> Subject: Re: [PHP-DEV] [RFC][Discussion] Consistent callables From: rowan.collins@gmail.com (Rowan Collins) On 28 May 2017 22:23:30 BST, Dan Ackroyd wrote: >Hi, > >I'd like to introduce an RFC to cleanup the behaviour of callables and >related functions in PHP=2E > >https://wiki=2Ephp=2Enet/rfc/consistent_callables Hi Dan, I like the principle behind this RFC, so thanks for tackling it=2E A few c= omments came to mind from a first read through: In your strict definition of a callable, you mention "a string at index 0 = which is a valid class name"; this should probably say "a fully qualified c= lass name", i=2Ee=2E Foo:: class not 'Foo'=2E This would fit with your prop= osal to remove support for 'self' and 'static', as the meaning of 'Foo' dep= ends on the current namespace and aliases=2E Regarding is_callable, I appreciate you want to keep the parameter list sh= ort, but I think replacing an existing parameter without any version where = it's removed completely could lead to some very confusing bugs=2E IMO, when= BC breaks are necessary, they should be big and obvious so people spot and= fix them=2E Finally, I notice you target a few deprecations at "7=2Elast"; the problem= with that is that we might not know when we release that version that it w= ill be the last=2E It wasn't decided until nearly a year after 5=2E6 was re= leased that there wouldn't be a 5=2E7, and the idea of creating a 5=2E7 con= taining only deprecations was ruled out=2E Suggestions to plot a roadmap of= future releases have so far but gained traction, so it's likely that 8=2E0= will be a similar scenario=2E Regards, --=20 Rowan Collins [IMSoP]