Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92623 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 38578 invoked from network); 21 Apr 2016 23:27:10 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Apr 2016 23:27:10 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 207.46.100.130 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 207.46.100.130 mail-by2on0130.outbound.protection.outlook.com Received: from [207.46.100.130] ([207.46.100.130:56386] helo=na01-by2-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 39/BB-14036-CC169175 for ; Thu, 21 Apr 2016 19:27:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=i6Rwic7LHKqY3C652kApacdQCt3htRreG2eulEkDITI=; b=HXTcW1TBslmRvA3psNNk1zf3L6xigH/pMKPkyjgTavaZNsMv62bZflWGwCAYiX976OcuEcXHQqnsPsOGeq5lvgDdDDmiNo27wBuCVH1GlAfGUS4wVbRYsPj4Rak/5koNoXLIcnukvWxWbZNdldpczSFtm3VtxmMu1tuHT9W3sgY= Authentication-Results: lists.php.net; dkim=none (message not signed) header.d=none;lists.php.net; dmarc=none action=none header.from=zend.com; Received: from tpl2.home (92.62.57.172) by BLUPR0201MB1780.namprd02.prod.outlook.com (10.162.239.14) with Microsoft SMTP Server (TLS) id 15.1.466.19; Thu, 21 Apr 2016 23:27:03 +0000 To: Colin O'Dell , Benjamin Eberlei , PHP internals list References: <5719598E.4000006@zend.com> Message-ID: <571961BA.4090902@zend.com> Date: Fri, 22 Apr 2016 02:26:50 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------050203010305050009060308" X-Originating-IP: [92.62.57.172] X-ClientProxiedBy: AM2PR09CA0067.eurprd09.prod.outlook.com (10.160.228.163) To BLUPR0201MB1780.namprd02.prod.outlook.com (10.162.239.14) X-MS-Office365-Filtering-Correlation-Id: 9cd1216a-9834-43f2-e623-08d36a3c72b4 X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1780;2:crCsxQCfq5yBAUkSKnIcCpAmgXFUBX1a4oP0mk5bwJqhirFrwzYNlkS4KZPB9tyw+onK1B2itA2hqlBFlioU49Uy+ENNBwf4zG8lde/Acuy8pHHmQm0UcowVjdMCCiftQC48jvFleYIkMM+ft2aCFjGg7QYwU9CDMxZ3Px0hMNQq1uN/HyDzoTZA9+mwdDpB;3:2v434kJgw94iFYCHqa0Mzq5gdc068p3txaBolzQIJGvCO+Syob13LGsYhDbRfV+7e9yMR8uvfaWS3WOprL7pGTGVsbECujFD5jQAk9RQcF+JpSm4XrIGSRu7HY5RrZ8y X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1780; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1780;25:KPIIX0qZqDWx6eD3VSwoHN22SBktnb0A5yKtjiMtjeUJ08VUXsR6ItCOgFcrN+y9FFpVxChuTSk11U3AfT5FLhxa7t9A0u1GCZ+4J+RgFjnOmf8vnXfLaOTDKrLexok/TT/7mxz+npyp8ey5SN4d8sORtupWMOP/73pu1q3t4dDm8gHKMgP+w7oDdPL3kk7hndG6J5UnFqoX60ohs7xnJcajUe/EPDx0EsfEuvr1DroJ8G1B0OQz8SC3H7MMn32VbEQtifeJEqqxdvx7SEfgdfptfd0oMJ4LzDyNegZ8hcwOUNUkmd6emMHJUo/c03bNckWrFyQvmhr3hpPdYYgNegMgflyEzCWPtoOyjx4BzBqdBDZMpePDniBjnW0RYuaT9VJsTYiTgZ1ltHCh6iW6pkVF3vFj2S5qheP3J3vOF5uHXvxEJkcYbqdEWn+m76YxdkNNgk/H8of8im5Z7MM8KkhD6OWeBfP2zH9bnOpwa/c1mUD/+OVtfySN7Xr+91IZmW1RmsvaqMuZ2V4pvbo5zAZm+NQxopBeGUJTd/oiZqkhxBwK7D4+m929unWWPFcVmsSzSFpQfkUlYKhN2dpduRGanClyYCW6a035QG8n0SzoEzwAH4ctyJIKnYonfWMpF34AyjuFoM2/2MNsCLrAkF3jT7xcpte86JeNyksSDMlLSpFaICg0P0Q7SY3TYJ22AyNnGZPE/oHUdtXkxmHQRN023twdeViapOfLqugPNb+Q1LMP1rploOH9/DeCRrx0bvaj5tsjes8p85ZQyavZbr+4nUNWAbgTDv6zRQMCHes= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1780;20:xolDuTSlEyXgwLDxjK54NA2aGP0x/HbBjZjiCOjOrL6aa8WRxwDbOXBQXfSqAWGm+2jtcgx1KAdxnZ4ID9TDVdJL9gG+tQ+0mB12GnHW++qHMAQ5drgl3YyZZJj7KpxWlOHrU8mdn9Uhr46PRMkY6JAkG9toC0ZV5RHfP/mON1z+MF1ZZvqdxXYmOcgGNr4A//t7ab7Nt20/g2Qlxb9unYEeuaZxw3+VCMrVcMh1905etnkR/2SPPEnX5S/1cH4at+bqQmEBgR6xfARyAHS7WR5HD9+Zg2JEzznDMLg0KZubbjiZ9XmuNDiFZNH5Z0QEfGynxwct5rDYeAFhzZ23FwzYGGQxbgE45CybGy/v0VUXXIXznzsLahN8H3C0nArX1TwVw0wWuNWKLV6Kd1yx66R6lzuKoVTD+jGhDmLkBTHH2Hg5CAi89h3u2nwnVVzpul+Hbim19IJLJAc8q+EOgm+5569KgwjhSWi4WFMpJwg3IN6bzGTWKwv4CCWw3/nU;4:mBZpcSJiRjmgV7++B8DxEecmxJ7pF1J/xh6HpMBLGyKiNFaqIChnqYe6+c488dX+BV+ZabxjAsE3PFAr5IvCjkYev0jpBlvMHn/AXw/6aSobkq3K96k0NI1ouGgF4cLCnRUc+DHPS9yPmPvVF3PwH4LlHATjB23fghi4VqZuPW4C35uFguJBzo8RbiUIUK7Q7Yv50AEGFELYPQhgMGEquetcBI3BKN3j4si5yZ/jTm2jBlfUStPSzhS32AJOCQXPW20REfrleFWCCOQXQ1SWeZEbOxd49uNqVDyFh/oRFUYoiKmZaxl8VHStGkW8nO3S44CrtV+OgNz6e5khMcASN2MVUnQGyksONqQ/GWI8bOwqsPEOOM/5ygJIHPWL0xmS+lgDfFDa/fK6xEJaXyqO5w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(9101521026)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BLUPR0201MB1780;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0201MB1780; X-Forefront-PRVS: 091949432C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(377454003)(24454002)(76176999)(54356999)(87266999)(5008740100001)(66066001)(50986999)(270700001)(561944003)(84326002)(33656002)(86362001)(65816999)(83506001)(3846002)(81166005)(6116002)(16236675004)(5004730100002)(92566002)(65956001)(1096002)(42186005)(64126003)(93886004)(2950100001)(99136001)(512874002)(36756003)(2906002)(77096005)(189998001)(4001350100001)(19580395003)(19580405001)(107886002)(5001770100001)(586003);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR0201MB1780;H:tpl2.home;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0201MB1780;23:QPiJ3MqOkFtO5zHFpQx7vLcdel+So7hcOKsTaXF?= =?us-ascii?Q?n4TTLt7xbrCLg0YHzofhDPRvO7lf/Ku6WFxSBHELuTX8lO4jBcJ5xlCP0zRF?= =?us-ascii?Q?9Yhy8QZ4iSYhuWjLu3erwD219twVjKIUpQx+1azx9oU6Giao0C46jdUXPFM4?= =?us-ascii?Q?LQCd6oGcCQhBkPjdlbwdMsN6fnALqc1BPTdKveLtv+Vxc6pQvQDGdDhfrwj9?= =?us-ascii?Q?hq7uTab1k+VG5raTtw+6YU5I0n625JwJ3oIMVlufP7/KYYVjVR5YMGGZujyD?= =?us-ascii?Q?SuCM7eOQbPtyJA/G89GQof0D8HND+wTDIqh5bX4NvuOwYXdbh1nVBPHVy8+n?= =?us-ascii?Q?dIE2yqi3udeLJYtss0rb/oxqsP8ZKa+Ul0lG1iFUcuu5mEVxr54ADt/o60DE?= =?us-ascii?Q?4aPOvNOKccefbhgeaINmhlKUkJp14HE0JZqb6QOW35esiMwAuhMxIhWPUyoq?= =?us-ascii?Q?qvMVDKD0YX7Bg8sUl0gtqVrgRyCJjA26KzZaAdvE9Ps46K401oN9foVEuX7z?= =?us-ascii?Q?PjAseU8c2jvoiiCgAxYfxqMhWrlGNUjirkZEWdehiy1aLaHngMrbBaNBA6DA?= =?us-ascii?Q?DprBa6hsm9Dks9OCvlOZDWlZFGLFAGh4KUnp7s4gCBblFtzWp8klFam0oW8K?= =?us-ascii?Q?GUCB/wC1H1U7f8w7wiXZ0Vj6HL3tdQSQolPaNpwbq6pSMCv7sIOF7Gr7Wd9b?= =?us-ascii?Q?jkecxqWN74KNt69pNuxI52YTHUZ/KAyQjGWFib47kpwRPS7WVnq6fAKfMweb?= =?us-ascii?Q?g/MuoXDWxRS8zeQpquSaXS7pl7EkjcUuIh1++Vfcj4+WfydcgXLfCDPzyEai?= =?us-ascii?Q?3/FKgINIJcwUJvT7BI8rwQ5mx/NUgAqN7Wa3noiSJOWFFG/pFbGHlZemkMKY?= =?us-ascii?Q?2AtwWPigIk4JTh3Sbv8EK1ERlk803vZk8ZzFWwV8j6SRdWk0XPCS9yIfsNl2?= =?us-ascii?Q?+pAjYxROp6lOiotrilecwhalgrZ2GidPTqh413wrJxpjCXxf2udgsHokuhRs?= =?us-ascii?Q?Jpc+s67mAmUq1VNXfkDYi2ixmzSZsbV5ckuyvWZUD0mMq5mZ08nhy5EFWvIz?= =?us-ascii?Q?53IzO2LkHBOImoUKfRRCcMT0EL2DN3wFYCNxnDT1Vv1Gu8G19ozZz3GAG2iP?= =?us-ascii?Q?GUotfJ8vd/UE=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0201MB1780;5:dMVPYEFrC/tqgCkbbicdrW5vKEMboDCt6rZMuylvrQ4+zdX+vRUp8I7U+P7sb8ss8QGJWRp2H2zHeBU2kDvM5iQYRS9O2Jiu++6zS64Spbii3+5ivfk7vyXh313NWMHwZIhEhO+a4pmScykJ/1EKzA2Z6E6JCqNRwN9lhsycL1iJiSu6hv8QrxjbbptcodbX;24:DR7qQDIgtTIXhlEkvk7+6uw7ULzoHoCIS97Pp2JmTtPrB870n7O+4nZmmBicK6Rw0h8PjB5nYlByTVnkLXxhRtG9rDV0IRQ2OUgyLsAx2RQ=;7:D3Cdj4Ybm5oQBrWjwEok12dKklgTjoes8PH13WiKjbiUpLYu+aI7yDXBX1tdebGa/ZypSl9RqIkDjlNoDU/TxV/nSC5rOzFZUvGa2C1jhyIUSVXNeMRxS0qehAxPW6JCm5811oTv1xLdHs6Sjaiwn6WplGjjj9dZLl95ktOOQeAXKYMg/E78ZvwWYQWlkNtHUn+7ZQOKWzCm6YyUm5L36uKFu5Sg2L95hIj8s7a48Ek= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2016 23:27:03.3942 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0201MB1780 Subject: Re: [PHP-DEV] [RFC] PHP Attributes From: dmitry@zend.com (Dmitry Stogov) --------------050203010305050009060308 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit On 04/22/2016 02:09 AM, Colin O'Dell wrote: > > A more robust alternative would be something along the same lines that > > Doctrine uses: Make annotations actual classes. > > Just spitballing here - what if both approaches were supported, but > class-based annotations were prefixed with a special character > (perhaps "@") to differentiate them? For example: > > <> > <<@ORM\Entity(table => "foo")>> > class Foo { > // ... > } > > namespace ORM; > class Entity implements \Attribute { > // ... > } > > $r = new ReflectionClass('ORM\Entity'); > var_dump($r->getAttributes()); > > ----- > > array(2) { > ["ArbitraryAnnotation"]=> > string(11) "Hello world" > ["ORM\Entity"] => > object(ORM\Entity)#1 (0) { ... } > } > > ----- > > Again, I'm not necessarily advocating this - just throwing the idea > out there for discussion. Current proposal doen't support this, but this may be a good idea. 1) Attribute names might be not just strings, but also namespace qualified. 2) They may be optionally prefexed by some special character. To create or not to create attribute objects is the question for next layer, but the base layer should provide necessary information. Thanks. Dmitry. > > Regards, > > Colin --------------050203010305050009060308--