Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:35642 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 74357 invoked by uid 1010); 20 Feb 2008 08:45:16 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 74341 invoked from network); 20 Feb 2008 08:45:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Feb 2008 08:45:16 -0000 Authentication-Results: pb1.pair.com smtp.mail=mls@pooteeweet.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=mls@pooteeweet.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pooteeweet.org from 85.10.196.195 cause and error) X-PHP-List-Original-Sender: mls@pooteeweet.org X-Host-Fingerprint: 85.10.196.195 serveforce1.backendmedia.com Linux 2.6 Received: from [85.10.196.195] ([85.10.196.195:43265] helo=serveforce1.backendmedia.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 80/C2-57501-A98EBB74 for ; Wed, 20 Feb 2008 03:45:14 -0500 Received: from [192.168.84.38] (office-zh.liip.ch [91.192.102.250]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (Client did not present a certificate) by serveforce1.backendmedia.com (Postfix) with ESMTP id 8BFF112241A6; Wed, 20 Feb 2008 09:45:37 +0100 (CET) Cc: "Lars Strojny" , internals@lists.php.net, =?ISO-8859-1?Q?=22Marcus_B=F6rger=22?= , =?ISO-8859-1?Q?=22Johannes_Schl=FCter=22?= , "Sebastian Bergmann" , "Alexandre Bergel" , "Falko Menge" , "Sara Golemon" , derick@php.net Message-ID: <88521E87-5677-4728-A371-9CB1DF50F1EB@pooteeweet.org> To: "Stefan Marr" In-Reply-To: <1e12984d0802200028k1c53071cj750b1b539295e2c3@mail.gmail.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Date: Wed, 20 Feb 2008 09:44:31 +0100 References: <001c01c87264$3c01b4e0$b4051ea0$@de> <1203470933.3529.33.camel@localhost> <1e12984d0802200028k1c53071cj750b1b539295e2c3@mail.gmail.com> X-Mailer: Apple Mail (2.919.2) X-backendmedia-com-MailScanner-Information: Please contact the ISP for more information X-backendmedia-com-MailScanner: Found to be clean X-backendmedia-com-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=0.047, required 6, AWL 0.05) X-backendmedia-com-MailScanner-From: mls@pooteeweet.org X-Spam-Status: No Subject: Re: [PHP-DEV] RFC: Traits for PHP From: mls@pooteeweet.org (Lukas Kahwe Smith) On 20.02.2008, at 09:28, Stefan Marr wrote: > Hi Lars, > >> What about abstract methods in traits? I think this could be handy to >> enforce the user class implement a data getter. >> >> trait Foo { >> public function doSomething() >> { >> return str_replace("foo", "bar", $this->_getString()); >> } >> abstract protected _getString(); >> } >> >> class Consumer >> { >> use Foo; >> protected function _getString() >> { >> return "foo"; >> } >> } >> >> What do you think? > I am sorry :) This part has been missing in the RFC. > But is already implemented in the patch and supposed to work exactly > like you has described it. > Maybe its best to first leave out interfaces/abstract etc. Start simple, see how things get used, get more comfortable with the feature and then see about potentially expanding it. regards, Lukas