[PHP-dev 734] var_dump() patch

Moriyoshi Koizumi moriyoshi @ at.wakwak.com
2003年 3月 30日 (日) 06:09:03 JST


Hi,

Attached is a small patch that allows var_dump() to show the namespace 
of the given object.

Moriyoshi
-------------- next part --------------
Index: ext/standard/var.c
===================================================================
RCS file: /repository/php4/ext/standard/var.c,v
retrieving revision 1.158
diff -u -r1.158 var.c
--- ext/standard/var.c	10 Mar 2003 15:13:32 -0000	1.158
+++ ext/standard/var.c	29 Mar 2003 21:01:33 -0000
@@ -61,6 +61,7 @@
 	HashTable *myht = NULL;
 	char *class_name;
 	zend_uint class_name_len;
+	zend_class_entry *ce;
 
 	if (level > 1) {
 		php_printf("%*c", level - 1, ' ');
@@ -99,9 +100,14 @@
 			return;
 		}
 
+		ce = Z_OBJCE(**struc);
+
 		Z_OBJ_HANDLER(**struc, get_class_name)(*struc, &class_name, &class_name_len, 0 TSRMLS_CC);
-		
-		php_printf("%sobject(%s)#%d (%d) {\n", COMMON, class_name,  Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0);
+		php_printf("%sobject(", COMMON);
+		if (ce->ns && ce->ns != &CG(global_namespace) && ce->ns->name) {
+			php_printf("%s::", ce->ns->name);
+		}
+		php_printf("%s)#%d (%d) {\n", class_name, Z_OBJ_HANDLE_PP(struc), myht ? zend_hash_num_elements(myht) : 0);
 head_done:
 		if (myht) {
 			zend_hash_apply_with_arguments(myht, (apply_func_args_t) php_array_element_dump, 1, level);


PHP-dev メーリングリストの案内