A. php中的对象分为哪两种
得到一个对象的类型,使用gettype()函数:
<?php
echo gettype(1); // 输出integer
echo gettype(array()); // 输出array
得到一个对象是哪个类的实例,使用get_class()函数:
<?php
$o = new stdClass();
echo get_class(); // 输出stdClass
得到一个类或对象的方法和属性,要使用反射:
<?php
class MyClass {
public $var;
public function foo() {}
}
$ref = new ReflectionClass('MyClass');
$ref->getProperties(); // 会返回一组对象,用法参考PHP手册
$ref->getMethods(); // 会返回一组对象,用法参考PHP手册
$obj = new MyClass();
$ref = new ReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();
B. php中怎么使用ReflectionClass的getMethods方法
你的这个问题完全可以到后盾人那里解决,那里有很多相关的视频教学,我也在那里学习
C. php怎么返回类的所有常量属性
PHP获取类中常量,属性,及方法列表的方法
$r=newReflectionClass($this);
Zend_Debug::mp($r->getConstants(),"Constants");
Zend_Debug::mp($r->getProperties(),"Properties");
Zend_Debug::mp($r->getMethods(),"Methods");
D. php 中如何得到一个对象的类型
得到一个对象的类型,使用gettype()函数:
<?php
echogettype(1);//输出integer
echogettype(array());//输出array
得到一个对象是哪个类的实例,使用get_class()函数:
<?php
$o=newstdClass();
echoget_class();//输出stdClass
得到一个类或对象的方法和属性,要使用反射:
<?php
classMyClass{
public$var;
publicfunctionfoo(){}
}
$ref=newReflectionClass('MyClass');
$ref->getProperties();//会返回一组对象,用法参考PHP手册
$ref->getMethods();//会返回一组对象,用法参考PHP手册
$obj=newMyClass();
$ref=newReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();
E. php中怎么用ReflectionClass中的方法获取类信息
$class = new ReflectionClass('ClassName');
//获取ClassName类的属性
$class->getProperties()
//获取ClassName类的方法
$class->getMethods()
F. php有没有什么函数可以获取一个方法中的参数名和参数类型的
/**
*获取一个函数的依赖
*@paramstring|callable$func
*@paramarray$param调用方法时所需参数形参名就是key值
*@returnarray返回方法调用所需依赖
*/
functiongetFucntionParameter($func,$param=[]){
if(!is_array($param)){
$param=[$param];
}
$ReflectionFunc=newReflectionFunction($func);
$depend=array();
foreach($ReflectionFunc->getParameters()as$value){
if(isset($param[$value->name])){
$depend[]=$param[$value->name];
}elseif($value->isDefaultValueAvailable()){
$depend[]=$value->getDefaultValue();
}else{
$tmp=$value->getClass();
if(is_null($tmp)){
thrownewException("{$class}");
}
$depend[]=$this->get($tmp->getName());
}
}
return$depend;
}
functiontest($a,$b=20){
echo$a,',',$b;
}
$depend=getFucntionParameter('test',['a'=>30,'b'=>40]);
call_user_func_array('test',$depend);//30,40
上面的函数是我开发的框架的容器的方法。
php提供了很完整的反射机制。不但可以反射函数,还可以反射方法,反射类构造函数。
G. php中怎么使用ReflectionClass的getMethods方法
$class = new ReflectionClass('ClassName'); //获取ClassName类的属性 $class->getPropert