Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39561 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 90800 invoked from network); 2 Aug 2008 19:42:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Aug 2008 19:42:01 -0000 Authentication-Results: pb1.pair.com smtp.mail=lstrojny@php.net; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=lstrojny@php.net; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 78.46.69.2 as permitted sender) X-PHP-List-Original-Sender: lstrojny@php.net X-Host-Fingerprint: 78.46.69.2 milch.schokokeks.org Received: from [78.46.69.2] ([78.46.69.2:35159] helo=milch.schokokeks.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 38/68-47668-888B4984 for ; Sat, 02 Aug 2008 15:42:01 -0400 Received: from [192.168.0.102] (xdsl-87-78-213-117.netcologne.de [::ffff:87.78.213.117]) (AUTH: PLAIN lars@schokokeks.org, TLS: TLSv1/SSLv3,256bits,CAMELLIA256-SHA) by milch.schokokeks.org with esmtp; Sat, 02 Aug 2008 21:41:56 +0200 id 000000000000C00D.000000004894B885.00000A1E To: Etienne Kneuss Cc: PHP Internals List In-Reply-To: References: Date: Sat, 02 Aug 2008 21:41:56 +0200 Message-ID: <1217706116.25356.16.camel@localhost> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=_milch.schokokeks.org-2590-1217706117-0001-2" X-Mailer: Evolution 2.22.2 Subject: Re: [PHP-DEV] __invoke concerns From: lstrojny@php.net (Lars Strojny) --=_milch.schokokeks.org-2590-1217706117-0001-2 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Etienne, Am Samstag, den 02.08.2008, 19:36 +0200 schrieb Etienne Kneuss: [...] > 1) I don't believe that having it thrown as another of those magic > method is a good idea. Rather, I'd like to have it represented by an > interface: Invokable. That way, type hints/checks can be done in user > land in a sane matter: I would like that too, but if we do so, we must pass the parameters as an array. With an interface we lose flexibility and that's why I would not do it. > 2) Do we really want __invoke's argument to be mapped to caller > arguments. Providing an array of arguments, ala __call(Static) sounds > more consistent. > class A { public function __invoke($arg) {var_dump($arg); }} $a =3D new > A; $a(1,2); // int(1), currently. IMHO it should be array(1,2) That's what I don't like and this is really a dependency for 1). > 3) Do we really want to allow both static and non-static versions of __in= voke ? > class A { public static function __invoke($args) { .. }} $a =3D new A; > $a(); being a static call to __invoke doesn't make much sense to me. Doesn't make any sense yes indeed. If we would have __invokeStatic() it would be another story. cu, Lars --=_milch.schokokeks.org-2590-1217706117-0001-2 Content-Type: application/pgp-signature; name="signature.asc" Content-Transfer-Encoding: 7bit Content-Description: Dies ist ein digital signierter Nachrichtenteil -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (GNU/Linux) iQIcBAABAgAGBQJIlLiDAAoJECQPF+sCY6wHRnQP/1+o5NovuUeVyfKVgzRkJV70 J6zRlD6rGo0xNprYZkCLp1E3jjj8crBZU8Um+GqNjhLS9lnIRsbT/1raN5Zc//pR nUttWitZLj8vQCI0vDpye8bGDUQrJlFg/NkgWOIhcqaByJ96WiuOg+1/DaMVLgok no2WOatpcfyigAWlYZWWHXdGR/6I5KIUXgsxsTYhFWghnBGpVyWuwidPOZSLXDxq tKEShG+7MozZRfOU55MGPKzp/QGMWUO/YAPivR/zqZfwnWMKhHLMbQxkXW8IMAW4 bTpKYXKk0qPtkKHy2aMbco8HznClLU5xEU0tnvMT8YXXxTp9kP0a/x+2wHMDWujC CtieSD74HAW9r2OPnM6S40S6Oq5wNVFT6rbP7+TvUDVb5lWpRJMPki2Dt3GzwkEY COdkkOsVQNBxDHr9t1SMLU52Z+5tCnTaXrAHDSN3xxblX1HuzINAnVvIbrBfzleP Xy5SpSeMGV0gYoF5EoVZD9DMs6gjIBOZL7g4rp1TV4pzUpOgorcf+T27Ta4TKvHF T1X/GtKAxFiQ2WD9892xdjRhehUtRIqLaBrp4B2n0qA0Zf9nMkk51AJ9bDBIpgIU 0DmH1ICRsvMOvYpHe4Ey8zfB8NcV4+tb9GBZ+PFe0w5HdcCbgJv3e4pX5nmUyinW C8s5DHQr1WAnb/Kocek+ =A5Be -----END PGP SIGNATURE----- --=_milch.schokokeks.org-2590-1217706117-0001-2--