Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93469 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 47016 invoked from network); 24 May 2016 06:54:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 May 2016 06:54:27 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.53 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.220.53 mail-pa0-f53.google.com Received: from [209.85.220.53] ([209.85.220.53:35059] helo=mail-pa0-f53.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B9/91-37212-2AAF3475 for ; Tue, 24 May 2016 02:54:26 -0400 Received: by mail-pa0-f53.google.com with SMTP id tb2so3789937pac.2 for ; Mon, 23 May 2016 23:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=nOX92P04Afs4M9oKJIX9CUUrbXfwxPXBFeGhbb8FAqE=; b=DfpbeVwFaS+IA+xZ51TypMtxxNuf3GO7ep+ItHEBfbIsZOjw8Tm50vjOOAFgpz9Ww9 YQy6KfxwTW7GcWqwZqE6pJop7/58klKoLX93FHg2Fw3LoZKhJGHkIpv8qdG9XGTgK1H3 jbzzmo2cPZcI4AyvY+8qYohT3P/hOVdQrJJ7nA34oHhhBanpuuhrLppBJpGaonwDMze4 waixV68KFXCxhARR1xTsRiltn/JkVNsTLFOwMBEYS0N5Qt/kSJYFbVTNY+WzGEKijk4C uT4U5mg8Jvh9jXZILEgwfonCn8Lz8Cka1+ENQO2FD2gF6Yq0tI0SrWCfyNxVfZscwts9 BkVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=nOX92P04Afs4M9oKJIX9CUUrbXfwxPXBFeGhbb8FAqE=; b=V+AjRB4yuIIBGXvK+v0/w7PkkBL3C+oThjVZf1wOQmqydj77YWztwov3A3bPC/j2nf KsHjrPnpsq0HqJNQu35fEAmN5TFyVbl/jBj4tHoil9O+JluLz+ujmzF4315CzpxW6UDg YGA2AXo2U0B2WZKWZIL8Cof1MaRI1FoNfLDiOVU8npUtcJcI4yPDq2HrzgzQxtde/TAN mh3PItuxqZ8TY+fvMCoZnca4IwDBNUCOrto8YFhrb6U0K+Hlr82WKag5BMJeUg+RzBrP Bhw552Zfg8mxdKIbnUm/df0T1mJyM1LL21e7diYlHvUGgE3LxUPQ8M9kAOE+VALP3GA8 amQw== X-Gm-Message-State: ALyK8tIEEbaB58iC+bkqk34EHAkSpglpjWpYcDicQur+f5z79UyXy6DMralgRLUAWQpSQQ== X-Received: by 10.66.84.164 with SMTP id a4mr4324420paz.90.1464072863567; Mon, 23 May 2016 23:54:23 -0700 (PDT) Received: from [192.168.2.102] (76-220-46-95.lightspeed.sntcca.sbcglobal.net. [76.220.46.95]) by smtp.gmail.com with ESMTPSA id 19sm51373715pfu.83.2016.05.23.23.54.20 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 23 May 2016 23:54:21 -0700 (PDT) To: Dmitry Stogov , internals References: Cc: Nikita Popov , Bob Weinand , Xinchen Hui Message-ID: <478356f3-cc53-d419-cfea-0a6bbd782031@gmail.com> Date: Mon, 23 May 2016 23:54:17 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Fix inconsistent behavior of $this variable From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > Please review the RFC. > > It proposes to fix all known inconsistencies related to handling of special $this variable. > > https://wiki.php.net/rfc/this_var What is the reason behind all these changes? Does it serve some bigger purpose? I'm not sure I currently see a reason to go to all these lengths. Sure, you can re-assign $this and make things weird. But I don't see why it's important to prevent it. It seems to add a lot of code, including checks in various places that would slow down things (and since these checks need to be done in each and every place we deal with local variables, it is also a very brittle design - each time we change or add anything there we'd need to remember forever to include special case for "this"). Also notes: 1. How static __call is a thing? That looks like something that makes no sense at all. 2. Why get_defined_vars() shouldn't show $this? -- Stas Malyshev smalyshev@gmail.com