Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:49364 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 78148 invoked from network); 11 Aug 2010 18:38:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Aug 2010 18:38:57 -0000 Authentication-Results: pb1.pair.com header.from=derick@php.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=derick@php.net; spf=unknown; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 82.113.146.227 as permitted sender) X-PHP-List-Original-Sender: derick@php.net X-Host-Fingerprint: 82.113.146.227 xdebug.org Linux 2.6 Received: from [82.113.146.227] ([82.113.146.227:38525] helo=xdebug.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 38/0E-01618-F3EE26C4 for ; Wed, 11 Aug 2010 14:38:57 -0400 Received: from localhost (xdebug.org [127.0.0.1]) by xdebug.org (Postfix) with ESMTPS id 83D4E10D7DE; Wed, 11 Aug 2010 19:38:47 +0100 (BST) Date: Wed, 11 Aug 2010 19:38:47 +0100 (BST) X-X-Sender: derick@kossu.derickrethans.nl To: Stas Malyshev cc: PHP Internals In-Reply-To: <4C62EC4A.9020106@sugarcrm.com> Message-ID: References: <4C62EC4A.9020106@sugarcrm.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1130196460-1281551932=:29410" Subject: Re: [PHP-DEV] back to 5.4 alpha From: derick@php.net (Derick Rethans) --8323329-1130196460-1281551932=:29410 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 11 Aug 2010, Stas Malyshev wrote: > So I'd propose doing the following: > > 1. Moving parameter typing to a feature branch (by branching current trunk and > then rolling back the typing part in the trunk). > 2. Starting 5.4 alpha process after that basing on trunk. > > Any objections to this? A little bit; yes. There is indeed 0 consensus for having the strict typehints. However, instead of removing it altogether, and instead answering every mail in this thread :P, I wrote/am writing a patch that removes the hard type checks. It however keeps the parsed structures and reflection API for it. In this sense, they're actually real hints. The patch also adds a mechanism similariy to the zend_error_cb mechanism so that extensions could override the argument type checking. As my use case for strict checking is development I'd be happy to just move the hard checks into an extension. I could even offer a soft check. It also allows some type inference which might be useful for webservice introspecition generation. I am sure SOAP might have some benefit of this, and I know that at least pecl/dbus does. The patch is attached, but not ready (I haven't remove the hard checks yet because things got busy at work). Derick -- http://derickrethans.nl | http://xdebug.org Like Xdebug? Consider a donation: http://xdebug.org/donate.php twitter: @derickr and @xdebug --8323329-1130196460-1281551932=:29410 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=php-types-20100811.diff.txt Content-Transfer-Encoding: BASE64 Content-Description: Content-Disposition: attachment; filename=php-types-20100811.diff.txt SW5kZXg6IGV4dC9zdGFuZGFyZC92YXJfdW5zZXJpYWxpemVyLmMNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCi0tLSBleHQvc3RhbmRhcmQvdmFyX3Vuc2Vy aWFsaXplci5jCShyZXZpc2lvbiAzMDIwNzMpDQorKysgZXh0L3N0YW5kYXJk L3Zhcl91bnNlcmlhbGl6ZXIuYwkod29ya2luZyBjb3B5KQ0KQEAgLTEsNCAr MSw0IEBADQotLyogR2VuZXJhdGVkIGJ5IHJlMmMgMC4xMy41IG9uIEZyaSBB dWcgIDYgMTk6MjA6MDcgMjAxMCAqLw0KKy8qIEdlbmVyYXRlZCBieSByZTJj IDAuMTMuNSBvbiBUdWUgQXVnIDEwIDE1OjIwOjUyIDIwMTAgKi8NCiAjbGlu ZSAxICJleHQvc3RhbmRhcmQvdmFyX3Vuc2VyaWFsaXplci5yZSINCiAvKg0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQpJbmRleDogWmVuZC96 ZW5kLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBaZW5kL3plbmQu YwkocmV2aXNpb24gMzAyMDczKQ0KKysrIFplbmQvemVuZC5jCSh3b3JraW5n IGNvcHkpDQpAQCAtNjQ4LDYgKzY0OCw3IEBADQogCXplbmRfdnNwcHJpbnRm ID0gdXRpbGl0eV9mdW5jdGlvbnMtPnZzcHByaW50Zl9mdW5jdGlvbjsNCiAJ emVuZF9nZXRlbnYgPSB1dGlsaXR5X2Z1bmN0aW9ucy0+Z2V0ZW52X2Z1bmN0 aW9uOw0KIAl6ZW5kX3Jlc29sdmVfcGF0aCA9IHV0aWxpdHlfZnVuY3Rpb25z LT5yZXNvbHZlX3BhdGhfZnVuY3Rpb247DQorCXplbmRfdmVyaWZ5X2FyZ190 eXBlID0gdXRpbGl0eV9mdW5jdGlvbnMtPnZlcmlmeV9hcmdfdHlwZV9mdW5j dGlvbjsNCiANCiAjaWYgSEFWRV9EVFJBQ0UNCiAvKiBidWlsZCB3aXRoIGR0 cmFjZSBzdXBwb3J0ICovDQpJbmRleDogWmVuZC96ZW5kLmgNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NCi0tLSBaZW5kL3plbmQuaAkocmV2aXNpb24gMzAy MDczKQ0KKysrIFplbmQvemVuZC5oCSh3b3JraW5nIGNvcHkpDQpAQCAtNTM2 LDYgKzUzNiw3IEBADQogCWludCAoKnZzcHByaW50Zl9mdW5jdGlvbikoY2hh ciAqKnBidWYsIHNpemVfdCBtYXhfbGVuLCBjb25zdCBjaGFyICpmb3JtYXQs IHZhX2xpc3QgYXApOw0KIAljaGFyICooKmdldGVudl9mdW5jdGlvbikoY2hh ciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuIFRTUk1MU19EQyk7DQogCWNoYXIg KigqcmVzb2x2ZV9wYXRoX2Z1bmN0aW9uKShjb25zdCBjaGFyICpmaWxlbmFt ZSwgaW50IGZpbGVuYW1lX2xlbiBUU1JNTFNfREMpOw0KKwlpbnQgKCp2ZXJp ZnlfYXJnX3R5cGVfZnVuY3Rpb24pKHVuaW9uIF96ZW5kX2Z1bmN0aW9uICp6 ZiwgemVuZF91aW50IGFyZ19udW0sIHp2YWwgKmFyZywgdWxvbmcgZmV0Y2hf dHlwZSBUU1JNTFNfREMpOw0KIH0gemVuZF91dGlsaXR5X2Z1bmN0aW9uczsN CiANCiB0eXBlZGVmIHN0cnVjdCBfemVuZF91dGlsaXR5X3ZhbHVlcyB7DQpJ bmRleDogWmVuZC96ZW5kX2V4ZWN1dGUuYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIFplbmQvemVuZF9leGVjdXRlLmMJKHJldmlzaW9uIDMwMjA3 MykNCisrKyBaZW5kL3plbmRfZXhlY3V0ZS5jCSh3b3JraW5nIGNvcHkpDQpA QCAtNTg5LDcgKzU4OSw3IEBADQogCX0NCiB9DQogDQotc3RhdGljIGlubGlu ZSBpbnQgemVuZF92ZXJpZnlfYXJnX2Vycm9yKGNvbnN0IHplbmRfZnVuY3Rp b24gKnpmLCB6ZW5kX3VpbnQgYXJnX251bSwgY29uc3QgY2hhciAqbmVlZF9t c2csIGNvbnN0IGNoYXIgKm5lZWRfa2luZCwgY29uc3QgY2hhciAqZ2l2ZW5f bXNnLCBjaGFyICpnaXZlbl9raW5kIFRTUk1MU19EQykNCitaRU5EX0FQSSBp bnQgemVuZF92ZXJpZnlfYXJnX2Vycm9yKGNvbnN0IHplbmRfZnVuY3Rpb24g KnpmLCB6ZW5kX3VpbnQgYXJnX251bSwgY29uc3QgY2hhciAqbmVlZF9tc2cs IGNvbnN0IGNoYXIgKm5lZWRfa2luZCwgY29uc3QgY2hhciAqZ2l2ZW5fbXNn LCBjaGFyICpnaXZlbl9raW5kIFRTUk1MU19EQykNCiB7DQogCXplbmRfZXhl Y3V0ZV9kYXRhICpwdHIgPSBFRyhjdXJyZW50X2V4ZWN1dGVfZGF0YSktPnBy ZXZfZXhlY3V0ZV9kYXRhOw0KIAljaGFyICpmbmFtZSA9IHpmLT5jb21tb24u ZnVuY3Rpb25fbmFtZTsNCkBAIC02MTIsNyArNjEyLDcgQEANCiAJcmV0dXJu IDA7DQogfQ0KIA0KLXN0YXRpYyBpbmxpbmUgaW50IHplbmRfdmVyaWZ5X2Fy Z190eXBlKHplbmRfZnVuY3Rpb24gKnpmLCB6ZW5kX3VpbnQgYXJnX251bSwg enZhbCAqYXJnLCB1bG9uZyBmZXRjaF90eXBlIFRTUk1MU19EQykNCitaRU5E X0FQSSBpbnQgemVuZF9vcmlnaW5hbF92ZXJpZnlfYXJnX3R5cGUoemVuZF9m dW5jdGlvbiAqemYsIHplbmRfdWludCBhcmdfbnVtLCB6dmFsICphcmcsIHVs b25nIGZldGNoX3R5cGUgVFNSTUxTX0RDKQ0KIHsNCiAJemVuZF9hcmdfaW5m byAqY3VyX2FyZ19pbmZvOw0KIAljaGFyICpuZWVkX21zZzsNCkluZGV4OiBa ZW5kL3plbmRfZXhlY3V0ZS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot LS0gWmVuZC96ZW5kX2V4ZWN1dGUuaAkocmV2aXNpb24gMzAyMDczKQ0KKysr IFplbmQvemVuZF9leGVjdXRlLmgJKHdvcmtpbmcgY29weSkNCkBAIC0zODks NyArMzg5LDExIEBADQogWkVORF9BUEkgemVuZF9jbGFzc19lbnRyeSAqemVu ZF9mZXRjaF9jbGFzcyhjb25zdCBjaGFyICpjbGFzc19uYW1lLCB1aW50IGNs YXNzX25hbWVfbGVuLCBpbnQgZmV0Y2hfdHlwZSBUU1JNTFNfREMpOw0KIFpF TkRfQVBJIHplbmRfY2xhc3NfZW50cnkgKnplbmRfZmV0Y2hfY2xhc3NfYnlf bmFtZShjb25zdCBjaGFyICpjbGFzc19uYW1lLCB1aW50IGNsYXNzX25hbWVf bGVuLCBjb25zdCB6ZW5kX2xpdGVyYWwgKmtleSwgaW50IGZldGNoX3R5cGUg VFNSTUxTX0RDKTsNCiB2b2lkIHplbmRfdmVyaWZ5X2Fic3RyYWN0X2NsYXNz KHplbmRfY2xhc3NfZW50cnkgKmNlIFRTUk1MU19EQyk7DQorWkVORF9BUEkg aW50IHplbmRfdmVyaWZ5X2FyZ19lcnJvcihjb25zdCB6ZW5kX2Z1bmN0aW9u ICp6ZiwgemVuZF91aW50IGFyZ19udW0sIGNvbnN0IGNoYXIgKm5lZWRfbXNn LCBjb25zdCBjaGFyICpuZWVkX2tpbmQsIGNvbnN0IGNoYXIgKmdpdmVuX21z ZywgY2hhciAqZ2l2ZW5fa2luZCBUU1JNTFNfREMpOw0KK1pFTkRfQVBJIGlu dCB6ZW5kX29yaWdpbmFsX3ZlcmlmeV9hcmdfdHlwZSh6ZW5kX2Z1bmN0aW9u ICp6ZiwgemVuZF91aW50IGFyZ19udW0sIHp2YWwgKmFyZywgdWxvbmcgZmV0 Y2hfdHlwZSBUU1JNTFNfREMpOw0KK1pFTkRfQVBJIGludCAoKnplbmRfdmVy aWZ5X2FyZ190eXBlKSh6ZW5kX2Z1bmN0aW9uICp6ZiwgemVuZF91aW50IGFy Z19udW0sIHp2YWwgKmFyZywgdWxvbmcgZmV0Y2hfdHlwZSBUU1JNTFNfREMp Ow0KIA0KKw0KICNpZmRlZiBaRU5EX1dJTjMyDQogdm9pZCB6ZW5kX2luaXRf dGltZW91dF90aHJlYWQodm9pZCk7DQogdm9pZCB6ZW5kX3NodXRkb3duX3Rp bWVvdXRfdGhyZWFkKHZvaWQpOw0KSW5kZXg6IG1haW4vbWFpbi5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQotLS0gbWFpbi9tYWluLmMJKHJldmlzaW9u IDMwMjA3MykNCisrKyBtYWluL21haW4uYwkod29ya2luZyBjb3B5KQ0KQEAg LTE4ODUsNiArMTg4NSw3IEBADQogCXp1Zi52c3BwcmludGZfZnVuY3Rpb24g PSB2c3BwcmludGY7DQogCXp1Zi5nZXRlbnZfZnVuY3Rpb24gPSBzYXBpX2dl dGVudjsNCiAJenVmLnJlc29sdmVfcGF0aF9mdW5jdGlvbiA9IHBocF9yZXNv bHZlX3BhdGhfZm9yX3plbmQ7DQorCXp1Zi52ZXJpZnlfYXJnX3R5cGVfZnVu Y3Rpb24gPSB6ZW5kX29yaWdpbmFsX3ZlcmlmeV9hcmdfdHlwZTsNCiAJemVu ZF9zdGFydHVwKCZ6dWYsIE5VTEwgVFNSTUxTX0NDKTsNCiANCiAjaWZkZWYg WlRTDQo= --8323329-1130196460-1281551932=:29410--