Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:83052 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 94824 invoked from network); 18 Feb 2015 12:16:44 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Feb 2015 12:16:44 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 209.85.213.45 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.213.45 mail-yh0-f45.google.com Received: from [209.85.213.45] ([209.85.213.45:42268] helo=mail-yh0-f45.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6C/EC-18888-AA284E45 for ; Wed, 18 Feb 2015 07:16:44 -0500 Received: by yhoa41 with SMTP id a41so393296yho.9 for ; Wed, 18 Feb 2015 04:16:39 -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=t6XvMiPjOW2GcANXQVl/Ttlww25AnbPsGSVTW1uXJuk=; b=az3KJnJ0KnU2egGpBUw1dEPX16uG7IG2s3KW87uXRuVnW5vFKOMzsG/3fu1A0Ffc76 JY5Ibb4vNg//eP8SRAZhg3TnCYyGuzHHP+uT3dLDDZPB26YEdzZRvFftqRI/Un5D4Ntd 2er5JjzVbYPxNro29yaew2rB2zvpKo4Osdpgie3oXsC1NITuk6OoI8kfzu2rho+UUTW1 XAN0hjD8f4VzTNGz2sJT3SWwIXrl4iUaV2JuSq/Ac8GWMVE1LxZ14L89At1s663PYo32 uO3rkdb/xAxq0bU7bUsn4qwhKeeYsM1QYXP8/kvJlb5NBI0KVYh2o/8R9hkGR+mVNwcx QUSg== X-Gm-Message-State: ALoCoQlDJRzAjeZMP79lKrsYDNPzFv4FXIYafblqDhP6FyWiGO2NWZtE1SgoB96hENfJCnGjyn6h/nFkmp4k07zZEc+4H87srDG0iAqoKz1Q68FOZ8icIFdQojVsj7GW9u/OfPHGKBcqOFMMa3nbcUa6xzb9uouwOg== MIME-Version: 1.0 X-Received: by 10.53.11.76 with SMTP id eg12mr2728097vdd.68.1424261798982; Wed, 18 Feb 2015 04:16:38 -0800 (PST) Received: by 10.52.74.73 with HTTP; Wed, 18 Feb 2015 04:16:38 -0800 (PST) In-Reply-To: <02ff01d04b72$abae34a0$030a9de0$@php.net> References: <02a101d04af9$507484f0$f15d8ed0$@php.net> <02ff01d04b72$abae34a0$030a9de0$@php.net> Date: Wed, 18 Feb 2015 16:16:38 +0400 Message-ID: To: francois Cc: Benjamin Eberlei , Guilherme Blanco , Alexander Lisachenko , Nikita Popov , PHP Internals , Pierrick CHARRON , Pierre Joye , Zeev Suraski , Andi Gutmans , Joe Watkins , Yasuo Ohgaki , Sebastian Bergmann , Stanislav Malyshev , Rasmus Lerdorf Content-Type: multipart/alternative; boundary=001a1133f056988f89050f5bca82 Subject: Re: [PHP-DEV] Annotations in PHP7 From: dmitry@zend.com (Dmitry Stogov) --001a1133f056988f89050f5bca82 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Feb 18, 2015 at 3:01 PM, Fran=C3=A7ois Laupretre wrote: > > De : Benjamin Eberlei [mailto:kontakt@beberlei.de] > > > > nested can be done in any way, its a statement so the following would > work: > > > > [new JoinColumn('id', > 'other_id')]]))> > > Dmitry is planning compile time evaluation, which is probably the only wa= y > to do it if we use PHP expressions. Is class instantiation, or function > call returning a new object instance (I guess) compatible with compile ti= me > evaluation ? > > More : would userland functions be available (if already defined, of > course) ? if yes, what about functions defined in the same file but below > the annotation calling it ? Two-pass ? > > Regards > > Fran=C3=A7ois > > > I answer the last time. Annotations is just a key value storage, where value may be AST for php expression. Your may do with it whatever you like (traverse, evaluate, compile), but PHP core itself is not going to do anything. Thanks. Dmitry. --001a1133f056988f89050f5bca82--