Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78626 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 95345 invoked from network); 4 Nov 2014 10:55:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Nov 2014 10:55:02 -0000 Authentication-Results: pb1.pair.com header.from=kontakt@beberlei.de; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=kontakt@beberlei.de; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain beberlei.de from 74.125.82.52 cause and error) X-PHP-List-Original-Sender: kontakt@beberlei.de X-Host-Fingerprint: 74.125.82.52 mail-wg0-f52.google.com Received: from [74.125.82.52] ([74.125.82.52:56245] helo=mail-wg0-f52.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 38/50-27956-380B8545 for ; Tue, 04 Nov 2014 05:55:00 -0500 Received: by mail-wg0-f52.google.com with SMTP id b13so12535832wgh.25 for ; Tue, 04 Nov 2014 02:54:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=nD9bQMADasMtUw07OLrx/2p1rgctn10VZNiGs+a47is=; b=db869NKz594pJQDHhAKdx+OZA52ndNtzA8wQdLqV6b+md3L+A+Rd1jz48/SHxWjk85 l+kZm6T2+904MUSOx95BHpoYxI3X8rYpk7avKb2LQr63VHloKLOHZrk4nMeMSZaw80AW pd7Nt9jfSkn/FxjhIPzyXHVhcaStnLL6aPzjvc6rAKGJL9SMcQAnE8tNZaOwJjQcy0p1 wbr8M60A5wINSrg3pSk2sCmLwoXWmWaebkRviZXyn8oMNAyczIz0U0lSBOf/me9L5ljz zO4sKBnvPduxiZVT+bd5Xwnx6yWWfAZ8l32jEVfbErAal4oht+Kz6ZO8dPXVIyfZgN3p lDKQ== X-Gm-Message-State: ALoCoQnZHjcYiLRIRY0BqMJNJRTjLh4Nu9kRpPK1BgWAvjFidNwgdEs+w6jwoIsb8fHMyBmLj1iE MIME-Version: 1.0 X-Received: by 10.194.157.137 with SMTP id wm9mr55641962wjb.5.1415098496625; Tue, 04 Nov 2014 02:54:56 -0800 (PST) Received: by 10.194.240.137 with HTTP; Tue, 4 Nov 2014 02:54:56 -0800 (PST) X-Originating-IP: [77.11.105.157] In-Reply-To: References: <5457AF2F.90808@php.net> <5457BDB7.8070701@garfieldtech.com> <54589A8D.3020607@sugarcrm.com> Date: Tue, 4 Nov 2014 11:54:56 +0100 Message-ID: To: Pierre Joye Cc: Stas Malyshev , Levi Morrison , PHP internals , Larry Garfield Content-Type: multipart/alternative; boundary=089e013c6b6836c42d0507064bb5 Subject: Re: [PHP-DEV] Annotation PHP 7 From: kontakt@beberlei.de (Benjamin Eberlei) --089e013c6b6836c42d0507064bb5 Content-Type: text/plain; charset=UTF-8 On Tue, Nov 4, 2014 at 11:28 AM, Pierre Joye wrote: > On Tue, Nov 4, 2014 at 4:21 PM, Stas Malyshev > wrote: > > Hi! > > > >> As I do consider personal tastes important, there are times where we > should > >> listen to our users. > > > > It would be nice to take "paving the walkways" approach, but last time > > we tried, IIRC we've got into something very over-engineered. Maybe if > > we try again with more restricted scope (i.e. not trying to put a DSL > > for describing arbitrarily complex data structures into it :) it would > > be more successful this time. > > All projects mentioned in this thread use: > > http://doctrine-common.readthedocs.org/en/latest/reference/annotations.html > > That makes a pretty good base spec. > Being the author I can say, the doctrine annotations project is way too over-engineered/special-purpose to land in core. I agree with Stas that a much simpler approach is probably realistic. beginning pure speculation here, i see a short array like syntax like: [foo="bar", bar="baz", baz=["key": "value"]] function annotated_fn() {} Maybe even exactly short array syntax: ["foo"="bar", "bar"="baz", "baz"=["key": "value"]] function annotated_fn() {} Then $reflectionFunction->getAnnotations() returns an array. Various PHP/Userland libraries and frameworks can then stick whatever symantic on top that they want. greetings Benjamin > > -- > Pierre > > @pierrejoye | http://www.libgd.org > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > --089e013c6b6836c42d0507064bb5--