Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:97714 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 66860 invoked from network); 12 Jan 2017 07:19:54 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Jan 2017 07:19:54 -0000 Authentication-Results: pb1.pair.com smtp.mail=sebastian@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=sebastian@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 188.94.27.5 as permitted sender) X-PHP-List-Original-Sender: sebastian@php.net X-Host-Fingerprint: 188.94.27.5 scarlet.netpirates.net Received: from [188.94.27.5] ([188.94.27.5:47746] helo=scarlet.netpirates.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 84/01-50165-51E27785 for ; Thu, 12 Jan 2017 02:19:50 -0500 Received: (qmail 7444 invoked by uid 89); 12 Jan 2017 07:19:55 -0000 Received: by simscan 1.4.0 ppid: 7436, pid: 7439, t: 0.0469s scanners: attach: 1.4.0 clamav: 0.99.1/m:/d:20700 Received: from unknown (HELO ?192.168.178.52?) (php@sebastian-bergmann.de@79.199.205.202) by scarlet.netpirates.net with ESMTPA; 12 Jan 2017 07:19:55 -0000 To: internals@lists.php.net References: <0DE25BF8-D349-48EF-A83B-8837DD4AD1E0@gmail.com> Reply-To: internals@lists.php.net Message-ID: <5efcc230-c67b-4439-cc82-b31eacbf36db@php.net> Date: Thu, 12 Jan 2017 08:19:48 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: <0DE25BF8-D349-48EF-A83B-8837DD4AD1E0@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Explicit constructor call and polymorphic dispatch From: sebastian@php.net (Sebastian Bergmann) Am 12.01.2017 um 08:11 schrieb Tim Bezhashvyly: > Disallow explicit call of __construct method I am baffled that this (still) works: $ cat /tmp/t.php __construct(); $ php /tmp/t.php C::__construct C::__construct $ php --version PHP 7.1.0 (cli) (built: Dec 1 2016 07:39:00) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies I am in favor of an RFC to disallow explicit invocation of interceptor methods such as __construct(). Can we do this in PHP 7.2 or does this have to wait for PHP 8? > Polymorphic dispatch You mean dynamic dispatch of polymorphic methods, right?