Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89990 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 31152 invoked from network); 4 Jan 2016 16:17:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jan 2016 16:17:24 -0000 Authentication-Results: pb1.pair.com header.from=bishop.bettini@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=bishop.bettini@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.50 as permitted sender) X-PHP-List-Original-Sender: bishop.bettini@gmail.com X-Host-Fingerprint: 74.125.82.50 mail-wm0-f50.google.com Received: from [74.125.82.50] ([74.125.82.50:34281] helo=mail-wm0-f50.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F7/D3-07292-11B9A865 for ; Mon, 04 Jan 2016 11:17:22 -0500 Received: by mail-wm0-f50.google.com with SMTP id u188so152990126wmu.1 for ; Mon, 04 Jan 2016 08:17:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=hSXYyNN1NpGa8qjjNpd2Zt0FcJVLIA7Of+ZUfqjXopg=; b=a3wqduXN9aVt2rDBMZyNry+hDpWIfKHulBkJ1l6+rqHhiYDy02U8D8Zn5CBx9gyVwO I8tGcUaAJpluGefaMXmVE+UsV5JFr1kuRrslb+iROpkONk9qDQnNBASeLN5uS2jSUJP4 Mg4Ek8nOqNI4EstHfiAO8LuXukF6EhwVgidr4Q4Oh/ue6R3E12qjdE3vWCQbXfA7ZvZG yJYiTTh2/6TjFhKZ1UGL07DwgZtGgMHs+naPSUorKfAnUmFErNrpdf6ov6ij+ktQpxmm zYpXOuUWvTDTFQbWHAmkjcOxDWUN9BgciF54SOAE/lvfarucfzkwfr8X2bbiof4abo4x lfLw== X-Received: by 10.28.148.82 with SMTP id w79mr93902818wmd.71.1451924238621; Mon, 04 Jan 2016 08:17:18 -0800 (PST) MIME-Version: 1.0 Reply-To: bishop@php.net Sender: bishop.bettini@gmail.com Received: by 10.194.45.230 with HTTP; Mon, 4 Jan 2016 08:16:49 -0800 (PST) In-Reply-To: <5687FEC0.8010103@gmail.com> References: <5687FEC0.8010103@gmail.com> Date: Mon, 4 Jan 2016 11:16:49 -0500 X-Google-Sender-Auth: JjPqTP4hWgTcTIPnRpig7mgEtYU Message-ID: To: Rowan Collins , Stas Malyshev , Nikita Popov Cc: PHP internals Content-Type: multipart/alternative; boundary=001a114b6fc47be2f60528847406 Subject: Re: [PHP-DEV] [RFC] On-Demand Name Mangling From: bishop@php.net (Bishop Bettini) --001a114b6fc47be2f60528847406 Content-Type: text/plain; charset=UTF-8 On Sat, Jan 2, 2016 at 11:45 AM, Rowan Collins wrote: > On 02/01/2016 03:09, Bishop Bettini wrote: > >> But, even without a setting, there's an escape hatch: userland can >> polyfill >> the mangling behavior using extract. The updated RFC demonstrates an >> algorithm. >> > > I'm not that comfortable with requiring / encouraging the use of extract() > - a rather awkward function which clobbers your local variable space in > unpredictable ways - to write the polyfill. The fact that the clobbering is > necessary / useful for extract() is wholly unrelated to the need for BC in > super-global arrays. > > It would be more useful to expose a method or regex constant to userland > so that the mangling can actually be done in place on appropriate arrays: > I've updated the on-demand name mangling RFC in light of all feedback so far. The crux being: - If an app requires name mangling: - As of 7.1, the app will get one E_NOTICE per startup warning of the impending removal of name mangling - As of 8.0, the app will need to include a polyfill package and add one line of code to its bootstrap. (Safe to include the polyfill prior to the release of 8.0.) - If an app does not need name mangling, there's no effect, no notices, nothing needed Thanks! --001a114b6fc47be2f60528847406--