php怎么查询类里面有哪些方法
青灯夜游 人气:0本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在php中,可以使用get_class_methods()函数来查询类里面有哪些方法。
get_class_methods()函数可以获取类的所有方法,返回由类的方法名组成的数组。
语法:
get_class_methods($class_name)
$class_name:类名或者对象实例。
返回值:返回由 $class_name 指定的类中定义的方法名所组成的数组。如果出错,则返回 null。
示例:
<?php class myclass { // constructor function myclass() { return(true); } // method 1 function myfunc1() { return(true); } // method 2 function myfunc2() { return(true); } } $class_methods = get_class_methods('myclass'); // or $class_methods = get_class_methods(new myclass()); foreach ($class_methods as $method_name) { echo "$method_name<br>"; } ?>
输出结果:
myclass
myfunc1
mufunc2
实例扩展:
<?php class user { var $usertable; function get_oneuser($field,$value) { $field_array=array("id","name"); //查询方式 if(in_array($field,$field_array)) { $sql="SELECT * FROM `$this->usertable` WHERE $field='$value'"; $db=new database; $res=$db->execute($sql); $obj_user=mysql_fetch_object($res); return $obj_user; } else echo "查询方式不对"; } function get_moreusers() { global $db; $argnums=func_num_args(); $argarr=func_get_args(); switch($argnums) { case 0: $sql="SELECT * FROM `$this->usertable`"; break; case 2: $sql="SELECT * FROM `$this->usertable` WHERE $argarr[0]='$argarr[1]'"; break; case 4: $sql="SELECT * FROM `$this->usertable` WHERE $argarr[0]='$argarr[1]' AND $argarr[2]='$argarr[3]'"; break; } //$db=new database; $res=$this->execute($sql); $obj_arr=array(); while($obj=mysql_fetch_object($res)) { $obj_arr[]=$obj; } return $obj_arr; } } ?>
加载全部内容