在PHP开发中,有时候我们会不可避免的需要得到类中所有方法或者变量。也有的时候,我们需要知道某一个方法是否已经被定义,某一些类是否被加载,这时候,就需要用到一些比较少用的函数了。
1、获取类中所有的变量:get_class_vars。使用方法为get_class_vars('类名');如果在类外面调用,那么只能获取属性为public的变量,如果在内部调用,则可以获取所有的变量。当然,子类是无法获取父类的private属性的变量的。
2、获取类中所有的方法:get_class_methods,如用方法与get_class_vars几乎一样,但参数可以是类名,也可以是实例化后的类。同样,在内部可以获取所有的方法名,外部只能获取public方法。从PHP5开始,方法名返回的时候是区分大小写,而在PHP4的时候,全部返回小写(事实上方法本来对大小写无所谓的)
3、与1类似的方法:get_object_vars,它的参数只能是实例化后的object,其他的用法都与1相同
4、获取所有加载的方法,get_defined_functions,它会返回一个数组,其中以user为下标的数组就是当前被引用过的变量。当然也可以直接用function_exists来判断。
5、get_include_files,这个方法可以了解到当前页面加载了多少文件,在优化的时候可以参考,是否有文件被无意义的加载了