$obj = new \B(); $obj2 = new \ReflectionClass($obj); $instance = $obj2->newInstance();//相当于实例化 //获取定义的常量 $Constant =$obj2->getConstant("ABC"); //获取一组常量 $Constants =$obj2->getConstants(); //获取文档注释 $docomment=$obj2->getDocComment(); //获取命名空间名称 $namespaceName =$obj2->getNamespaceName (); //获取方法名 $method =$obj2->getMethod("abc"); //获取多个方法名 $methods =$obj2->getMethods(); foreach ($methods as $method){ //方法的文档注释 // echo $method->getDocComment(); } //获取方法名是否存在 $hasmethod =$obj2->hasMethod("abcs"); //dump($hasmethod); //获取方法名方式1 // echo $instance->abc(1,2); //方式2 有参数 $method =$obj2->getMethod("abc"); //echo $method->invokeArgs($instance,['111','222']); //方法3 无参数 $method =$obj2->getMethod("qqq"); // echo $method->invoke($instance); //调用方法是否为公共方法 $method = new \ReflectionMethod($obj,"qqq"); //dump($method->isPublic()); //获取方法参数 $method = new \ReflectionMethod($obj,"abc"); //dump($method->getParameters()); //获取方法参数的个数 //dump($method->getNumberOfParameters());
php 反射机制 dome
最新推荐文章于 2024-09-10 19:28:28 发布