加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP---反射--继续剖析

发布时间:2020-12-13 21:27:20 所属栏目:PHP教程 来源:网络整理
导读:首先定义一个类 ? php class mycoach { protected $name; protected $age; protected $expertise= array(); public function __construct($name,$age) { $ this -name= $name; $ this -age= $age; } public function setskill(Array $skill) { $ this -skill
  • 首先定义一个类
<?php class mycoach { protected $name; protected $age; protected $expertise=array(); public function __construct($name,$age) { $this->name=$name; $this->age=$age; } public function setskill(Array $skill) { $this->skill = $skill; var_dump($this->skill); return (Array) $this->skill; } } $coach = new ReflectionClass(mycoach); if ($coach->isInstantiable()) { echo "可以实例化".PHP_EOL; } $myinit = $coach->getConstructor(); 
  • ?通过反射获取类的构造函数的入参(或者说依赖)
$dependencies=$myinit->getParameters(); var_dump($dependencies);

输出结果:

array(2) { [0]=>
  object(ReflectionParameter)#3 (1) { ["name"]=>
    string(4) "name" } [1]=>
  object(ReflectionParameter)#4 (1) { ["name"]=>
    string(3) "age" } }
  • getName getFileName
var_dump("获取列的名字: ".$coach->getName()); var_dump("获取类文件的路径: ".$myinit->getFileName());

输出结果:

string(29) "获取列的名字: mycoach"
string(70) "获取类文件的路径: /home/cpc/PhpstormProjects/untitled/duwa.php"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读