Annotation of embedaddon/php/ext/mysqli/tests/reflection_tools.inc, revision 1.1.1.1

1.1       misho       1: <?php
                      2:        function inspectClass($class) {
                      3: 
                      4:                /* not used: public ReflectionClass[] getInterfaces()  */
                      5: 
                      6:                printf("\nInspecting class '%s'\n", $class->getName());
                      7:                printf("isInternal: %s\n", ($class->isInternal()) ? 'yes' : 'no');
                      8:                printf("isUserDefined: %s\n", ($class->isUserDefined()) ? 'yes' : 'no');
                      9:                printf("isInstantiable: %s\n", ($class->isInstantiable()) ? 'yes' : 'no');
                     10:                printf("isInterface: %s\n", ($class->isInterface()) ? 'yes' : 'no');
                     11:                printf("isAbstract: %s\n", ($class->isAbstract()) ? 'yes' : 'no');
                     12:                printf("isFinal: %s\n", ($class->isFinal()) ? 'yes' : 'no');
                     13:                printf("isIteratable: %s\n", ($class->isIterateable()) ? 'yes' : 'no');
                     14:                printf("Modifiers: '%d'\n", $class->getModifiers());
                     15:                printf("Parent Class: '%s'\n", $class->getParentClass());
                     16:                printf("Extension: '%s'\n", $class->getExtensionName());
                     17: 
                     18:                if ($method = $class->getConstructor())
                     19:                        inspectMethod($method);
                     20: 
                     21:                if ($methods = $class->getMethods()) {
                     22:                        $tmp = array();
                     23:                        foreach ($methods as $method)
                     24:                                $tmp[$method->getName()] = $method;
                     25: 
                     26:                        ksort($tmp, SORT_STRING);
                     27:                        foreach ($tmp as $method)
                     28:                                inspectMethod($method);
                     29:                }
                     30: 
                     31:                if ($properties = $class->getProperties()) {
                     32:                        $tmp = array();
                     33:                        foreach ($properties as $prop)
                     34:                                $tmp[$prop->getName()] = $prop;
                     35:                        ksort($tmp, SORT_STRING);
                     36:                        foreach ($tmp as $prop)
                     37:                        inspectProperty($prop);
                     38:                }
                     39: 
                     40: 
                     41:                if ($properties = $class->getDefaultProperties()) {
                     42:                        ksort($properties, SORT_STRING);
                     43:                        foreach ($properties as $name => $v)
                     44:                                printf("Default property '%s'\n", $name);
                     45:                }
                     46: 
                     47:                if ($properties = $class->getStaticProperties()) {
                     48:                        ksort($properties, SORT_STRING);
                     49:                        foreach ($properties as $name => $v)
                     50:                                printf("Static property '%s'\n", $name);
                     51:                }
                     52: 
                     53:                if ($constants = $class->getConstants()) {
                     54:                        ksort($constants, SORT_STRING);
                     55:                        foreach ($constant as $name => $value)
                     56:                                printf("Constant '%s' = '%s'\n", $name, $value);
                     57:                }
                     58: 
                     59:        }
                     60: 
                     61:        function inspectProperty(&$prop) {
                     62: 
                     63:                printf("\nInspecting property '%s'\n", $prop->getName());
                     64:                printf("isPublic: %s\n", ($prop->isPublic()) ? 'yes' : 'no');
                     65:                printf("isPrivate: %s\n", ($prop->isPrivate()) ? 'yes' : 'no');
                     66:                printf("isProtected: %s\n", ($prop->isProtected()) ? 'yes' : 'no');
                     67:                printf("isStatic: %s\n", ($prop->isStatic()) ? 'yes' : 'no');
                     68:                printf("isDefault: %s\n", ($prop->isDefault()) ? 'yes' : 'no');
                     69:                printf("Modifiers: %d\n", $prop->getModifiers());
                     70:                // printf("Value\n"); var_export($prop->getValue());
                     71: 
                     72:        }
                     73: 
                     74:        function inspectMethod(&$method) {
                     75: 
                     76:                printf("\nInspecting method '%s'\n", $method->getName());
                     77:                printf("isFinal: %s\n", ($method->isFinal()) ? 'yes' : 'no');
                     78:                printf("isAbstract: %s\n", ($method->isAbstract()) ? 'yes' : 'no');
                     79:                printf("isPublic: %s\n", ($method->isPublic()) ? 'yes' : 'no');
                     80:                printf("isPrivate: %s\n", ($method->isPrivate()) ? 'yes' : 'no');
                     81:                printf("isProtected: %s\n", ($method->isProtected()) ? 'yes' : 'no');
                     82:                printf("isStatic: %s\n", ($method->isStatic()) ? 'yes' : 'no');
                     83:                printf("isConstructor: %s\n", ($method->isConstructor()) ? 'yes' : 'no');
                     84:                printf("isDestructor: %s\n", ($method->isDestructor()) ? 'yes' : 'no');
                     85:                printf("isInternal: %s\n", ($method->isInternal()) ? 'yes' : 'no');
                     86:                printf("isUserDefined: %s\n", ($method->isUserDefined()) ? 'yes' : 'no');
                     87:                printf("returnsReference: %s\n", ($method->returnsReference()) ? 'yes' : 'no');
                     88:                printf("Modifiers: %d\n", $method->getModifiers());
                     89:                printf("Number of Parameters: %d\n", $method->getNumberOfParameters());
                     90:                printf("Number of Required Parameters: %d\n", $method->getNumberOfRequiredParameters());
                     91: 
                     92:                if ($params = $method->getParameters()) {
                     93:                        $tmp = array();
                     94:                        foreach ($params as $k => $param)
                     95:                                $tmp[$param->getName()] = $param;
                     96: 
                     97: //                     ksort($tmp, SORT_STRING);
                     98:                        foreach ($tmp as $param)
                     99:                                inspectParameter($method, $param);
                    100:                }
                    101: 
                    102:                if ($static = $method->getStaticVariables()) {
                    103:                        sort($static, SORT_STRING);
                    104:                        printf("Static variables: %s\n", implode('/', $static));
                    105:                }
                    106: 
                    107:        }
                    108: 
                    109:        function inspectParameter(&$method, &$param) {
                    110: 
                    111:                printf("\nInspecting parameter '%s' of method '%s'\n",
                    112:                $param->getName(), $method->getName());
                    113:                printf("isArray: %s\n", ($param->isArray()) ? 'yes': 'no');
                    114:                printf("allowsNull: %s\n", ($param->allowsNull()) ? 'yes' : 'no');
                    115:                printf("isPassedByReference: %s\n", ($param->isPassedByReference()) ? 'yes' : 'no');
                    116:                printf("isOptional: %s\n", ($param->isOptional()) ? 'yes' : 'no');
                    117:                printf("isDefaultValueAvailable: %s\n", ($param->isDefaultValueAvailable()) ? 'yes' : 'no');
                    118:                // printf("getDefaultValue: %s\n", ($param->getDefaultValue()) ? 'yes' : 'no');
                    119: 
                    120:        }
                    121: ?>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>