Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:42160 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 22230 invoked from network); 8 Dec 2008 16:27:47 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 8 Dec 2008 16:27:47 -0000 Authentication-Results: pb1.pair.com smtp.mail=helly@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=helly@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 85.214.94.56 as permitted sender) X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 85.214.94.56 aixcept.net Linux 2.6 Received: from [85.214.94.56] ([85.214.94.56:57825] helo=h1149922.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4D/F6-21579-30B4D394 for ; Mon, 08 Dec 2008 11:27:47 -0500 Received: from MBOERGER-ZRH (unknown [193.142.125.1]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by h1149922.serverkompetenz.net (Postfix) with ESMTP id 6534411F6DB; Mon, 8 Dec 2008 17:27:44 +0100 (CET) Date: Mon, 8 Dec 2008 17:27:40 +0100 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <938983775.20081208172740@marcus-boerger.de> To: Stanislav Malyshev CC: Karsten Dambekalns , internals@lists.php.net In-Reply-To: <493D425C.6010104@zend.com> References: <493D425C.6010104@zend.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] Problem with (namespaced) code extending ReflectionProperty - possible bug? From: helly@php.net (Marcus Boerger) Hello Stanislav, Monday, December 8, 2008, 4:50:52 PM, you wrote: > Hi! >> According to the manual and the PHP source the signature is this: >> public function getValue(stdclass $object) > Manual is unfortunately not exact in this point - true signature for it > is public function getValue([object $object]) - i.e. $object is not > required and if it's supplied, it doesn't have to be stdclass - any > object will do. Thus, engine correctly complains that your signature - > required object of stdclass - is not compatible. Which reminds me that we still have no way to do that in userland. In userland you cannot write: function foo(Object $bla = NULL). The missing part is 'Object' as a type hint. I once long ago suggested using 'class' as in 'any class member'. But people felt it wouldn't be self explanatory enough. And unfortunately we cannot use 'Object' for obvious reasons. We simply cannot turn that into a reserved word not can we expect no one to have a class named Object already. So my suggestion holds: Let's add type hint 'class' to allow hints for objects. marcus >> >> This is my test code: >> ---- snip ---- >> > class PropertyReflection extends ReflectionProperty { >> public function getValue(stdclass $object) {} >> } >> ?> > Use public function getValue($object = null) {} instead. > -- > Stanislav Malyshev, Zend Software Architect > stas@zend.com http://www.zend.com/ > (408)253-8829 MSN: stas@zend.com Best regards, Marcus