Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:13123 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 24013 invoked by uid 1010); 3 Oct 2004 17:25:37 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 23988 invoked from network); 3 Oct 2004 17:25:37 -0000 Received: from unknown (HELO jan.prima.de) (83.97.50.139) by pb1.pair.com with SMTP; 3 Oct 2004 17:25:37 -0000 Received: from BAUMBART (p508EA25C.dip.t-dialin.net [::ffff:80.142.162.92]) (IDENT: HydraIRC, AUTH: LOGIN tobi) by jan.prima.de with esmtp; Sun, 03 Oct 2004 17:25:35 +0000 Date: Sun, 3 Oct 2004 19:23:35 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <213399320.20041003192335@marcus-boerger.de> To: internals@lists.php.net Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=_jan.prima.de-5185-1096824336-0001-2" Subject: Dynamic class constants From: helly@php.net (Marcus Boerger) --=_jan.prima.de-5185-1096824336-0001-2 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello internals, this patch allows to access class constants by objects. If noone objects i'll commit it on tuesday. Example: class Test { const Foo = 'Bar'; } $obj = new Test; var_dump($obj::Foo); -- Best regards, Marcus --=_jan.prima.de-5185-1096824336-0001-2 Content-Type: text/plain; name="ze2-dyn-class-const-20040930.diff.txt"; charset=iso-8859-1 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ze2-dyn-class-const-20040930.diff.txt" SW5kZXg6IFplbmQvemVuZF9sYW5ndWFnZV9wYXJzZXIueQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5naW5lMi96ZW5kX2xhbmd1YWdlX3BhcnNlci55LHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjE1MApkaWZmIC11IC1wIC1kIC1yMS4xNTAgemVuZF9s YW5ndWFnZV9wYXJzZXIueQotLS0gWmVuZC96ZW5kX2xhbmd1YWdlX3BhcnNlci55CTE2IFNl cCAyMDA0IDA1OjQzOjI5IC0wMDAwCTEuMTUwCisrKyBaZW5kL3plbmRfbGFuZ3VhZ2VfcGFy c2VyLnkJMzAgU2VwIDIwMDQgMTk6MTQ6NDAgLTAwMDAKQEAgLTYwOCw2ICs2MDgsNyBAQCBl eHByX3dpdGhvdXRfdmFyaWFibGU6CQogCXwJVF9BUlJBWSAnKCcgYXJyYXlfcGFpcl9saXN0 ICcpJyB7ICQkID0gJDM7IH0KIAl8CSdgJyBlbmNhcHNfbGlzdCAnYCcJCXsgemVuZF9kb19z aGVsbF9leGVjKCYkJCwgJiQyIFRTUk1MU19DQyk7IH0KIAl8CVRfUFJJTlQgZXhwciAgeyB6 ZW5kX2RvX3ByaW50KCYkJCwgJiQyIFRTUk1MU19DQyk7IH0KKwl8CXZhcmlhYmxlIFRfUEFB TUFZSU1fTkVLVURPVEFZSU0gVF9TVFJJTkcgeyB6ZW5kX2RvX2VuZF92YXJpYWJsZV9wYXJz ZShCUF9WQVJfUiwgMCBUU1JNTFNfQ0MpOyB6ZW5kX2RvX2ZldGNoX2NvbnN0YW50KCYkJCwg JiQxLCAmJDMsIFpFTkRfUlQgVFNSTUxTX0NDKTsgfQogOwogCiBmdW5jdGlvbl9jYWxsOgpJ bmRleDogWmVuZC96ZW5kX3ZtX2hhbmRsZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF92bV9oYW5kbGVycy5oLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtcCAtZCAtcjEuMiB6ZW5kX3ZtX2hhbmRsZXJzLmgK LS0tIFplbmQvemVuZF92bV9oYW5kbGVycy5oCTIyIFNlcCAyMDA0IDA4OjQ1OjIxIC0wMDAw CTEuMgorKysgWmVuZC96ZW5kX3ZtX2hhbmRsZXJzLmgJMzAgU2VwIDIwMDQgMTk6MTQ6NDMg LTAwMDAKQEAgLTI4NjUsMTMgKzI4NjUsMTQgQEAgWkVORF9WTV9IQU5ETEVSKFpFTkRfQ0xP TkUpCiB9CiAjZW5kaWYKIAotI2RlZmluZSBaRU5EX0ZFVENIX0NPTlNUQU5UX1NQRUMoKSBP UERFRihaRU5EX0ZFVENIX0NPTlNUQU5ULCBNX0NPTlNUX1VOVVNFRCwgTV9DT05TVCkKKyNk ZWZpbmUgWkVORF9GRVRDSF9DT05TVEFOVF9TUEVDKCkgT1BERUYoWkVORF9GRVRDSF9DT05T VEFOVCwgTV9DT05TVF9UTVBfVkFSX1VOVVNFRCwgTV9DT05TVCkKICNpZiBIQVZFX09QKFpF TkRfRkVUQ0hfQ09OU1RBTlQpCiBaRU5EX1ZNX0hBTkRMRVIoWkVORF9GRVRDSF9DT05TVEFO VCkKIHsKIAl6ZW5kX29wICpvcGxpbmUgPSBFWChvcGxpbmUpOwogCXplbmRfY2xhc3NfZW50 cnkgKmNlID0gTlVMTDsKCXp2YWwgKip2YWx1ZTsKKwl6ZW5kX2ZyZWVfb3AgZnJlZV9vcDE7 CiAKIAlpZiAoT1AxX1RZUEUgPT0gSVNfVU5VU0VEKSB7CiAvKiBUaGlzIHNlZW1zIHRvIGJl IGEgcmVtaW5hbnQgb2YgbmFtZXNwYWNlcwpAQCAtMjg5NSwxNiArMjg5NiwyMSBAQCBaRU5E X1ZNX0hBTkRMRVIoWkVORF9GRVRDSF9DT05TVEFOVCkKIAkJWkVORF9WTV9ORVhUX09QQ09E RSgpOwogCX0KIAotCWNlID0gRVhfVChvcGxpbmUtPm9wMS51LnZhcikuY2xhc3NfZW50cnk7 Ci0KKwlpZiAoT1AxX1RZUEUgPT0gSVNfQ09OU1QpIHsKKwkJY2UgPSBFWF9UKG9wbGluZS0+ b3AxLnUudmFyKS5jbGFzc19lbnRyeTsKKyAJfSBlbHNlIHsKKwkJenZhbCAqb2JqID0gR0VU X09QMV9aVkFMX1BUUihCUF9WQVJfUik7CisJCWNlID0gWl9PQkpDRV9QKG9iaik7CisJfQoJ aWYgKHplbmRfaGFzaF9maW5kKCZjZS0+Y29uc3RhbnRzX3RhYmxlLCBvcGxpbmUtPm9wMi51 LmNvbnN0YW50LnZhbHVlLnN0ci52YWwsIG9wbGluZS0+b3AyLnUuY29uc3RhbnQudmFsdWUu c3RyLmxlbisxLCAodm9pZCAqKikgJnZhbHVlKSA9PSBTVUNDRVNTKSB7CgkJenZhbF91cGRh dGVfY29uc3RhbnQodmFsdWUsICh2b2lkICopIDEgVFNSTUxTX0NDKTsKCQlFWF9UKG9wbGlu ZS0+cmVzdWx0LnUudmFyKS50bXBfdmFyID0gKip2YWx1ZTsKCQl6dmFsX2NvcHlfY3Rvcigm RVhfVChvcGxpbmUtPnJlc3VsdC51LnZhcikudG1wX3Zhcik7Cgl9IGVsc2UgewogCQl6ZW5k X2Vycm9yX25vcmV0dXJuKEVfRVJST1IsICJVbmRlZmluZWQgY2xhc3MgY29uc3RhbnQgJyVz JyIsIG9wbGluZS0+b3AyLnUuY29uc3RhbnQudmFsdWUuc3RyLnZhbCk7CiAJfQogCisJRlJF RV9PUDEoKTsKIAlaRU5EX1ZNX05FWFRfT1BDT0RFKCk7CiB9CiAjZW5kaWYK --=_jan.prima.de-5185-1096824336-0001-2--