Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:78631 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 15601 invoked from network); 4 Nov 2014 12:27:09 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Nov 2014 12:27:09 -0000 Authentication-Results: pb1.pair.com smtp.mail=lisachenko.it@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=lisachenko.it@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.178 as permitted sender) X-PHP-List-Original-Sender: lisachenko.it@gmail.com X-Host-Fingerprint: 209.85.212.178 mail-wi0-f178.google.com Received: from [209.85.212.178] ([209.85.212.178:61302] helo=mail-wi0-f178.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DB/71-06676-C16C8545 for ; Tue, 04 Nov 2014 07:27:09 -0500 Received: by mail-wi0-f178.google.com with SMTP id q5so9113913wiv.17 for ; Tue, 04 Nov 2014 04:27:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=KTupmcliAsIQJ6uOLwD27kL+oko8y+cQIDeILImi/Mo=; b=I+wxpisKYsdYAbOMfJiN6DYQH3Qs3JJMEmEOQuIhaHpXxXU7rCLqgXGaqSDKxPUR0Y hnN3JaMBYl+h85uMNiww7Civ53jLNyQNopyT2Hba+cGea4UOAyzbtuSQP/s4Du62JxqR cljN7h0pUUScPBGG3qL2uk7PR/GgoTlKMNK09xXYuF/fYuT0qMTbuIOvrm7Suw1ZAnHe 5qBcLDy2YSnBBJD7r+MUOTXTVuEBoUzM+Vpm/x9lMwSno32zQNf5PvxJdFThMO+4l5aW KMo86TGXtXSEqGpUH7LJJSDlDg51DHxYTRcnDhKoXOILuA2mmPT2EyHF7lLsKoDtEu2G mT+g== MIME-Version: 1.0 X-Received: by 10.180.39.8 with SMTP id l8mr3027202wik.19.1415104025224; Tue, 04 Nov 2014 04:27:05 -0800 (PST) Received: by 10.194.42.137 with HTTP; Tue, 4 Nov 2014 04:27:05 -0800 (PST) In-Reply-To: <54589A8D.3020607@sugarcrm.com> References: <5457AF2F.90808@php.net> <5457BDB7.8070701@garfieldtech.com> <54589A8D.3020607@sugarcrm.com> Date: Tue, 4 Nov 2014 15:27:05 +0300 Message-ID: To: Stas Malyshev Cc: Pierre Joye , Levi Morrison , PHP internals , Larry Garfield Content-Type: multipart/alternative; boundary=001a1134c85ebe6a380507079422 Subject: Re: [PHP-DEV] Annotation PHP 7 From: lisachenko.it@gmail.com (Alexander Lisachenko) --001a1134c85ebe6a380507079422 Content-Type: text/plain; charset=UTF-8 Hi! 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. > PHP7 has a wonderful parser, maybe it's possible to provide a general syntax for annotations with userland hooks for arbitrary data. This approach can give a tool for framework developers to define a node visitor for annotations. Alternative way is to define simple key-value storage and access it via Reflector->getAnnotations(). I want to put my huge +1 vote on annotations support in the core, because Go! AOP uses annotations a lot for defining metadata and markers in the code and provides an engine for advanced programming patterns and method interception. Doctrine is good library, but this can be better on core level. --001a1134c85ebe6a380507079422--