Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:49635 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41785 invoked from network); 13 Sep 2010 18:20:36 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Sep 2010 18:20:36 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 67.192.241.133 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 67.192.241.133 smtp133.dfw.emailsrvr.com Linux 2.6 Received: from [67.192.241.133] ([67.192.241.133:53145] helo=smtp133.dfw.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 19/F9-24501-37B6E8C4 for ; Mon, 13 Sep 2010 14:20:35 -0400 Received: from relay23.relay.dfw.mlsrvr.com (localhost [127.0.0.1]) by relay23.relay.dfw.mlsrvr.com (SMTP Server) with ESMTP id BAAE21568206; Mon, 13 Sep 2010 14:20:32 -0400 (EDT) Received: by relay23.relay.dfw.mlsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id 2EE32156839F; Mon, 13 Sep 2010 14:20:32 -0400 (EDT) Message-ID: <4C8E6B6F.4080308@sugarcrm.com> Date: Mon, 13 Sep 2010 11:20:31 -0700 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100825 Thunderbird/3.1.3 MIME-Version: 1.0 To: Gustavo Lopes CC: "internals@lists.php.net" References: <4C873C0F.1010200@zend.com> <4C879613.7090709@zend.com> <4C887D2B.2000605@zend.com> <4C8AC526.7000505@sugarcrm.com> <4C8B6168.30504@mohiva.com> <4C8BC81E.8000605@sugarcrm.com> <7.0.1.0.2.20100913145703.0d226d90@zend.com> <7.0.1.0.2.20100913172559.0d2277d0@zend.com> <7.0.1.0.2.20100913183427.0d2277d0@zend.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: PHP Annotations RFC + Patch From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > - LSB. Can you explain from the top of your head when when the called > scope is reset or not (e.g. with parent::, self::, className::, possibly > in non-static contexts) in a function call? I can't. It's not that hard. Keywords forward, classnames don't. > - Namespaces. It takes a while to memorize the resolution rules. For classes, there's essentially one rule - not fully qualified names use import or current NS. For functions there's a fallback to global scope above resolution brings nothing. That's it - how hard is that? > - References. Need I say more? You almost need to know the implementation > to understand them. Being called "references" doesn't help either. You very rarely need to use references, and actually most of its use follow from the mistake (as we see now) of making array a primitive type like the others. It should have worked like objects work. However it is true that references are an ugly part of PHP. How it's the reason to add more ugliness? > The proposed annotations are basically object instances that are returned > when you call getAnnotations. There are no itemized lists of rules. I > don't see how this is complex. They aren't just object instances, since they also have separate syntax to create them - unlike the syntax to create all other objects. And it wouldn't be a problem if it would be something trivial - like just class name - but we have here whole new syntax complete with nesting, named parameters, validation logic and what not. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227