Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91329 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 60500 invoked from network); 19 Feb 2016 19:53:00 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Feb 2016 19:53:00 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@fleshgrinder.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=php@fleshgrinder.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain fleshgrinder.com from 212.232.28.122 cause and error) X-PHP-List-Original-Sender: php@fleshgrinder.com X-Host-Fingerprint: 212.232.28.122 mx201.easyname.com Received: from [212.232.28.122] ([212.232.28.122:59525] helo=mx201.easyname.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EE/62-36948-A9277C65 for ; Fri, 19 Feb 2016 14:52:58 -0500 Received: from cable-81-173-133-29.netcologne.de ([81.173.133.29] helo=[192.168.178.20]) by mx.easyname.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1aWr6k-0001Cp-Cu for internals@lists.php.net; Fri, 19 Feb 2016 19:52:54 +0000 Reply-To: internals@lists.php.net References: <56C7700E.3090706@fleshgrinder.com> To: internals@lists.php.net Message-ID: <56C77284.5080708@fleshgrinder.com> Date: Fri, 19 Feb 2016 20:52:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Traits with interfaces From: php@fleshgrinder.com (Fleshgrinder) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2/19/2016 8:47 PM, Chase Peeler wrote: > I don't agree. The HHVM approach of allowing a trait to indicate > the a utilizing class MUST implement an interface is, in my > opinion, not a good thing. It allows the trait to force a utilizing > class to interact with a third entity, which I don't think a trait > should be able to do. The trait can say "hey, if you want to use > me, you have to implement my abstract methods" but the trait > shouldn't be able to force you to include his friends. > > Again, that part of the HHVM approach isn't being proposed, so it's > really a moo point anyway. > My argumentation from the very beginning, however, I understood that some people would love to see exactly this possibility: to force using classes. I am all for compromises to make everyone happy. However, if we agree that we do not want to see the "require" then I am totally happy to see support for "implements" in they way that it is not inherited by the using class at all for the reasons I explained earlier. - -- Richard "Fleshgrinder" Fussenegger -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWx3KEAAoJEOKkKcqFPVVrZcoQAMTX8EiwtvtYlL8SJc030qUP t8u/L6TlJt/euaWFCnvuWcqe0gg674/cqC7uPoSz1y/Zql2YD52Hj9VDBMlg3FWT 5D/uS3KUgjEFUGnn45fUpEZSl08qWNKMqYQcr3HmK3oMTHISPxfLv9xw3PdLtnIt iQBlSM/PVFsC5nxdbClxMnEBr3TSVk7nehSCkneEs1Ew8hCEs/Q/dArj0nwjDJYX AoO0qsbTV9PUt0OiHMgGQ8MtubKVTdPd8WgsUT1wN3bXtxBHAQOHsMav8ZY5PbDM Atq1dMnmKP5wNmpMXNc/01TYJHws2MxWeTdFF9pedd6u6jz1D7eNuea7uX9OQG5U r9KRBjeeIsthY+ertt1jVzJ43ufaclal4bvwbiS2/KkKfPOprGu42DrZDNtJZNdJ iOuWiZKAbhg9YA/NcoVx8YxwH2rbpdSJjyc84W5MCYjAofM4eEaYtj79gnZbd1Hj d/wqnKk4H6tRt1HjQLfoqBlFn27R6xNMe+1j5gRftNZkK0ZmHIMVt/I+aId/iFgK ultn1JFsk8E75Tj6XzD5r3KPa38B4WTQYp919Jrf6dY66RIZ3L9yRViBmoqxUml2 WOhZYLPQTUBLtxCAXLQYcp1UntbAEa9f89oLkhH6iekmCxcplfG7ka2fVoc+XqLk xgub9X1NTtsK7HYty6nf =2oRB -----END PGP SIGNATURE-----