Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78952 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 13211 invoked from network); 18 Nov 2014 19:05:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Nov 2014 19:05:37 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.52 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.220.52 mail-pa0-f52.google.com Received: from [209.85.220.52] ([209.85.220.52:42723] helo=mail-pa0-f52.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CD/21-06737-0889B645 for ; Tue, 18 Nov 2014 14:05:36 -0500 Received: by mail-pa0-f52.google.com with SMTP id eu11so4240591pac.25 for ; Tue, 18 Nov 2014 11:05:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=TB1/rhqRFjD4kGE9/nvrBTekUuWbXdDXEdk6lrTQ5tM=; b=h6MaSB+RoRZXynvo+Nrrw70m34CIhorvGhtleU1YLXOzyi+dFCk0y/lt84jhxa23j+ bRN+4WfjLQBcxLHtOGDAY3rojiSLEmKHWFBXY/jJcK0NVD6nhmJ56Uogb77PZC6+58EW w4uyfpgekyuEXeFVmiJagy7tM8DlJ/ZqJDNvMkJbByXIIybU8fZ0ymCa1A5s6FJbzTsv dTEoWqyJcpamEx228MZuyW6czz8MQ4TEJdKuisUaK08dYkTQb1PhBwH/yNcu21PYiw5j xZZxCevL+id06RasZ/SX/5y0ky7/z8nPEpNf8tg5zcif9DEtg6jvInGZToJQJNneXtcm 4n3A== X-Received: by 10.66.150.102 with SMTP id uh6mr13193192pab.141.1416337533635; Tue, 18 Nov 2014 11:05:33 -0800 (PST) Received: from [192.168.2.145] (108-66-6-48.lightspeed.sntcca.sbcglobal.net. [108.66.6.48]) by mx.google.com with ESMTPSA id il5sm36943518pbb.56.2014.11.18.11.05.32 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 18 Nov 2014 11:05:33 -0800 (PST) Message-ID: <546B987B.2080808@gmail.com> Date: Tue, 18 Nov 2014 11:05:31 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: internals@lists.php.net References: <546B0F62.1090705@gmail.com> <546B3D07.2090203@hoa-project.net> <7B7BA983-3A5B-4FB1-8C02-0B88C81407C2@ajf.me> <546B5562.4030907@gmail.com> In-Reply-To: <546B5562.4030907@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Default constructors From: smalyshev@gmail.com (Stanislav Malyshev) Hi! >> I'd certainly like it if everything descended from some class (Object? >> StdClass?), but I don't like the idea of an empty construct. As Making everything descend from the same class may require a number of changes and much bigger design effort than this RFC aims at, with wider BC implications. As for not liking the idea of empty construct - that's too bad since PHP already has it and had it since forever. You just can't call it with parent:: syntax - but you perfectly can use it (not sure you can say "call" since no call is actually happening) with new. >> Anthony pointed out last time, you can't do inheritance and >> simultaneously treat the parent class as a black box. I'm not sure what is meant here. Calling parent ctor is a base OOP technique, everybody does that, it's one of the first best practices people learn when doing OO. Only in PHP, it's weird since you have to know if parent defined ctor or not, and if that changes, patch all your descendant classes. That's just bad OO implementation.