Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:93095 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 11873 invoked from network); 6 May 2016 06:02:43 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 May 2016 06:02:43 -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.114 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 207.46.100.114 mail-by2on0114.outbound.protection.outlook.com Received: from [207.46.100.114] ([207.46.100.114:48108] helo=na01-by2-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 07/35-27079-C733C275 for ; Fri, 06 May 2016 02:02:40 -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=7z8LtYT5q0ppFoPqVZEdEltT1/w53RskaCnfwAwV25Y=; b=Peq/fxocXV1MEA90qD+6LELC/y/zkbsWGZYetTGcp9lB5wDt1vqmKEZ4Wa0Jjay+Y/62OD2D8qc4ZSSB3EuZYiO7eNRaSkGLbJHPGnmI8v0IpBbybz+44pYcQAqCEZlXd6fXsW6xiVYBmP7s1Hp5ZuZ673/kVAC68b5QMvYEslA= 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 CY1PR0201MB1788.namprd02.prod.outlook.com (10.163.55.21) with Microsoft SMTP Server (TLS) id 15.1.485.9; Fri, 6 May 2016 06:02:28 +0000 To: Jesse Schalken , Dan Ackroyd References: <5723F2AE.2020806@garfieldtech.com> <8a7d1e8a-1e9e-0bbd-912a-21201638b989@gmail.com> <572B5781.4000403@garfieldtech.com> CC: Larry Garfield , "internals@lists.php.net" Message-ID: Date: Fri, 6 May 2016 09:02:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [92.62.57.172] X-ClientProxiedBy: VI1PR06CA0057.eurprd06.prod.outlook.com (10.163.160.25) To CY1PR0201MB1788.namprd02.prod.outlook.com (10.163.55.21) X-MS-Office365-Filtering-Correlation-Id: 671a96ce-1d4f-4e9b-353f-08d3757401dd X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1788;2:6h/72JwauhlIfDgJrkOvviNUtpNPswWyv6v5ZQ56rujP+2SMUww5Md7/cSZdEV6CvZhBnQ0iFg8l/+EBJt/A3pVQE9gkC9fadVdOG6YHyhr22U6L++QcCG9nXNTbdAoLecXD/4OAxPDxssQdX8VTghyYNaPh/K48LSzczvu3lQSav6rU4xyovLO34KIp7/bE;3:0vLrbBjNAalvMaJWeq8PfucGBMbViqATxMbp9HD33d/LQDjPuFCziKmiX20OsmAlniA+i5r10Kq7XQWpZo6Ng6QamdBQqsSJJnchm9VHBwP4fUhvsyEfmXL1fH9eZM2o X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1788; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1788;25:YGTb9Z/KRTCReo5Bg+Te4go1qt0GSaFL3eJiwNKYPOdcq2nYeurq/8NfQVQILUMzbQyKzY4vJG2CyCF0gIrZ14e8J/LnNem3bw/0SOO8L3TCwaTU4BjeH9ND1Xffg3CHT8qz4pOYYahGwxkJXYiANbS64ajGA2QsPb7Sb4IBbIsKjXMMfRhE9hafoHe1KqLAPgGqrN0Wc3J6hEPq5S0q6uyNqhqgfFx85EqqUu1dMGPGcpZeEZj7tN4E3VlIEfPP+2EVy3Q2du4TC58EPSPWXniRa5d1X9bBL56vG8pkPKntCvai2P2gX7SUz1lFUoFwILFyTwdLGgoCTbumgePW777srHwpTQq/kxEAT0J3FaoEWqNVAML9Da2OPAX/9rku021PATXKSRAUy9Ea6/+o4MvOZNmhlW5LOlvL7J1+pXKp4xo5hg3rsobnZMfMnukgMD8EINA0RJ7pbcG4Ski+SGKxm0vAyz5nfhV6WScFzLvQMUE6pUthsu3WOV+FkmrivBg8fn56JvPqQGQIgom/I8Do3UV2YSIW72aRq8RXx3vKf5xm11JJQYmgmKc5webayKigcpsv2N8T5ICg7EdaqxeE7wGztfvjAoGw553u/A7hPN23+q+frAxo70ggdzNAhaNX6aA4EpMXBj4r+HpvMHcj/zAxm+COAAVNWTqS9px1dBFD3+LwIqxue3yZ2MC7lANA3gvrKlAjKzcYJ13/xew1o+BOyiPxvgAZVqNFAp5VsHDRhIPvkAnwUmKGtxcGWGYIgGmQKlqvuGk85BMNkcLxeMvBleD7f+vqVWF1uNQ6d6GC3Bcur/Vs8h+21fMS1c/RjPTW5HhdQhotoAt5uJoO1LiXwlk4Ss9NtB8DgZo= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1788;20:5eQS+hg94bgRoa9wDMWq0t3TtZP6QD2COooFbDg8zjMdIgw9T/8GTOrIV4hOwTGJWkXweHITAXIKASHlwCz9za4F3y2zAC0yk0ZDSUxcGyKXARjrLnN/EE5jl1vid8MnO5PW4OEn2n47o56KKROLuqRt59Y/5Z+4DQo8i3pYuTEZ4cbHcnPdZY2cSs9yFWchjWPioNiYEN9tBaaWsXGI8k6BP4PLebWBCtXPEjkbLVhK9DgHlVOI+gp7oZyJeFq3+b174lnccjVNn7BvCix6UwKnRE2nf232yF+r6bNEv8TPRGCs3fB7zI+c9D7X5sU0NFj706yuCjRcIoei4Wn07Lq/ewg0fAROAZ0KjWMwK8LZ2UPBtS+GOtcrSInYlHvK6Xj7rBM6hapW7sXsW4Kvzr4RhGJHVQU52RhYz1Cp9NxhWZCip+WVq3pSWRaTuq9JDw5X7wgmYHCr5Q66ShjFebOuQ6YWEtJY9TsM/0vybfcO5MgnoOgG5S9FhYbTkbdL;4:cYr/B5WQ42raoRU4VQgoatO5FP7/JkgktbjbzDKPE1U16C5X9rPTBY8PYNaZTgywINnKkC4hNf3i6inudBAlOQrrJtWB4HjqJacTOoKwkqSLJOnYFJdaQ//BkFhmvv1/e/0/fz6Ss/m4whk8uNa0rTLTPdTJSc/4ldjlrbr4Pm0kqAuYKB5P3RJxISUtMLc2tauJebmEwaPHeSqghfwzNlTrTUeJRMYKW2vkVee/wJgeLoZB9PQ4VWza3r9ao9VMYC1zAJgxpXi9/+K/VMLkXtB+yGjRW2evYVXydig/Kpyi7igy2KuIO9XmUVo4ckGtUBd+yZDHo4OHgYtpVFzYE+A2heHMTgRag1vOfx7Tm71j0gIXjeSdXTBDYUnq4Ac0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:CY1PR0201MB1788;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1788; X-Forefront-PRVS: 09347618C4 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(24454002)(377454003)(23676002)(92566002)(586003)(2950100001)(42186005)(33646002)(16799955002)(5001770100001)(15188155005)(31696002)(3846002)(6116002)(93886004)(64126003)(15975445007)(77096005)(50466002)(86362001)(5004730100002)(36756003)(2906002)(230700001)(31686004)(5008740100001)(81166005)(47776003)(50986999)(76176999)(66066001)(54356999)(65956001)(83506001)(189998001)(19580405001)(19580395003)(5890100001)(4326007)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0201MB1788;H:tpl2.home;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAyMDFNQjE3ODg7MjM6RTl6RHNSa2VmSlMvQnlNN093QnhWTGll?= =?utf-8?B?ekZmaXpOczVTOE9ENzlTVlNsdlBSM2xZcGcwN0ZGalRhaFdSM2svRXI1S0pl?= =?utf-8?B?TFFSdDhTT3g3NEwza3A2MlRsZnE5R2NaV3d3cW0rUnJPcVhUY2tIRW5lSlhQ?= =?utf-8?B?b1NDTFhZd0RteXJPdlVQQmthb0VzV1ZDVlJpZytDM3lkcjJCZ0dMYkRENVlQ?= =?utf-8?B?MWtkRHVKMmU3bFJLMVZqYXdhMXhpamJMUXZwMHhkeUNsc05PMVdBc1FwSVNM?= =?utf-8?B?Q0J3T0l6Zm4zaWNuNWZsSXEycm9XUisvdHVSTGU3aGVqM000aXdTd0pHTnZE?= =?utf-8?B?dU10V1cwc2I5R0V1K1NUYjFWczlMeU1GMzFYNEsxS1NyTEJkTnBOZHlRWndI?= =?utf-8?B?WFpvMWhselNjdk5xZGVFSS9IcnhEOGZvM2RzTFRIM09COGNkMG9YWVNDazF2?= =?utf-8?B?WGFOWS8rU1dEUTQrTmNFbTN4MCt3a05UMTR2UC80SDVvSHErVVdySkljVCtp?= =?utf-8?B?eEkzNjFJZ3UvLzYxOGtpTEVsamtNR0UrZG81dVQ1UDQ3TGZoRUJnUlBPVG91?= =?utf-8?B?diszQ2x6MGY1UkY1L3hsbWRKano4QVNwcUk5TGJDbjFvMFV6andTQ0xsWVpj?= =?utf-8?B?VTR4TXdyTFlUZHdEa2FtVUV2MmZLWHVWUFVNaFdaZXpsUmNiZ1VSSHo3dlBU?= =?utf-8?B?QUlHUEt6T0tmSHhmZHBROE1jcTNFNFNQRU1CZTUwakN4Ump0WnAxd2dycGc0?= =?utf-8?B?Z08rTXVNbEZURmZYMXA2S0FyUnprbG1jNFN1SzVISTVXUUFhWTZzUHIrNkdD?= =?utf-8?B?OU90MGZKZ3RTcng2QXZkL1JqMTFUc001WVBsYW5jSHI5VXdlVVpCNUNCajFY?= =?utf-8?B?cXNIUml0eGNpa0dpK283dG9PT2NiMC9sTEN3SnZzVnQrM2N0d3lYMnNvY0o5?= =?utf-8?B?dmZuTzJpamJRWFVwV2s3enJjQ3A4Z3M3clhWZGRUcEJpcEkrcnRGN0pJUm1C?= =?utf-8?B?N0ZKc3p5SWNZQWtKdmdqSysyWTV0c2Y2aFcvbUxvbENIZGc0U0taUzVwWm5o?= =?utf-8?B?WWNUOTFwL0xWdUdvbnRxdlpMbVljVktFZUJ1bjEwcEoxUjZyRlp5NDNGQWZr?= =?utf-8?B?a0VEN3MxbkNGbkRLL0NacU1weVZCczZFRFgwWEIxck8yc2NBSjdmbXE2NmZl?= =?utf-8?B?UE11SjFFSWgvdjF0OWNXL1l1ZnRZQmlqM0QwUFYrV2FaYTJhdnRMQjdVZXl4?= =?utf-8?B?SEEzYWFhMlRaTjRrQWxhdTFIVFJHQzEzc242aW9qVXlTa2gxWnRIemY1TmV1?= =?utf-8?B?NENPYkFtbE53RWRyVFlUc01zbFNmZ2Z3Z1JXdzJXS3NUVk5tV1Z1TXlGRmg5?= =?utf-8?B?eW9BWUxvd3gvdGdvTElwZTFVdnVmeG5pc3NQOHNzK2ZRcHgzOHZoZ2I0SGFh?= =?utf-8?B?bExoNFV1aXRCRU9KbGNEM0t1bWh2QThUY1JiTzNYcnNPQm9sSDBrS0h6U3ZU?= =?utf-8?B?TXVlZWpyU01ZMFBiY1hoMi9kQ2JOSnc1ZVdlTEJjQlZhSU0ybEIvK2dBK2xX?= =?utf-8?Q?3Hh?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1788;5:2NiWgTnkCs4+yX5X6+Pg49rv+/5fUhj8vLoQdYyITRxVAOfUqsscXDOMlnU/O0+L0bNBVUzSfuJWQ1wf5sjrn2bGZtFsj+TNnIk7UA/I8Yz9UOQtBbGOlk3PZk5IXTr4YsLbMNErj24q4qptbhpOEQ==;24:erFQO+2/4P0dvHG53ygjiLcz6bfcX/iIFYIeXNWfdrnjWPalnV5bTit32oKRgr8g/B7kbnX0BZtfYmIAdYIeXEG1K2WhaTsSGwjVCN6VLGM=;7:xX725+khCH7qHC+NMcv34AA9w3BDj4e+GN4Gz/t0oG4u7crm/wShKyKptzvu9CifS1HXC8uQZ2hIfPpEgiD99OsmgT2TFCJqi8D7sUcBcDpHWLe3kQrGXKr2w+VtYYqa2dQAJt4T2Pd2eQ9mUWDrlFQCmOJX4ip9KnzPlPMFaLyMFNMONkX5RLvLeQr8QGmF SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2016 06:02:28.4176 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1788 Subject: Re: [PHP-DEV] Attributes/Annotations Case Study: Drupal From: dmitry@zend.com (Dmitry Stogov) On 05/06/2016 05:06 AM, Jesse Schalken wrote: > If you're going to say "do what you want" with regards to annotations, then > just let them be a text string. Parsing the annotation as PHP but not > evaluating it as PHP seems a very strange and arbitrary half-way point. If > the thing consuming the AST is expected to eval() it, then why didn't PHP > do that already? If the thing consuming the AST is expected not to eval() > it, then it must effectively implement it's own language sharing PHP's > syntax but not PHP's semantics. Since it can't possibly attach meaning to > all of PHP's syntax, PHP will enforce that the string is valid PHP even > though the annotation language will be a very small subset. Not only does > that buy you very little in terms of validity checking, but it constrains > the annotation language to be a subset of PHP's syntax even when such a > constraint may be entirely inappropriate. > > A true "do what you want" approach, if that is the right approach, would be > for the annotation body to be a free text string. You talk about a subset of the proposed RFC. It proposes an additional question about AST usage. Thanks. Dmitry. > > On Fri, May 6, 2016 at 8:36 AM, Dan Ackroyd wrote: > >> On 5 May 2016 at 15:24, Larry Garfield wrote: >>> because it doesn't define "right way". >> Good. >> >>> I could easily see, for instance, Doctrine annotations building the >>> first, PHPUnit the second, and Zend the 3rd. >> Good! >> >> It's not the job of PHP core to tell people how to use annotations. >> People can use them however they want. >> >> If it turns out that there is a single 'right' way of using them, >> everyone will gravitate to that way anyway. >> >> If it turns out there are different 'right' ways of using them for >> different use cases, people will be able to pick and choose the >> use-case that is most appropriate. >> >> And most importantly, if what people think is the 'right' way to use >> them evolves over time, that can be accomplished completely in >> user-land, without needing to update the internal implementation of >> annotations. >> >> cheers >> Dan >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >>