堕落不振功业废,勤耕不辍日月新

列出某个php扩展的所有类以及方法成员

PHP hailen 433℃

在网上发现一段列出某个扩展下的所有类、成员属性、成员方法以及方法的参数等,感觉还不错,蛮实用的。

<?php
$e = new ReflectionExtension('gearman');
print "<?php

// Gearman Version: " . $e->getVersion() . "

";
foreach ($e->getClasses() as $c) {
  print 'class ' . $c->name . " {
";
  foreach ($c->getMethods() as $m) {
    print '  ';
    if ($m->isPublic()) {
        print 'public';
    } elseif ($m->isProtected()) {
        print 'protected';
    } elseif ($m->isPrivate()) {
        print 'private';
    }
    print ' function ' . $m->name . '(';
    $sep = '';
    foreach ($m->getParameters() as $p) {
      print $sep;
      $sep = ', ';
      if ($p->isOptional())
        print '$' . $p->name . ' = null' ;
      else
        print '$' . $p->name;
    }
    print "){}
";
  }
  print "}

";
}

这段代码使用到了php的反射机制,php提供了好几个反射类,比较实用,有兴趣的可以去看下

转载请注明:我是IT » 列出某个php扩展的所有类以及方法成员

喜欢 (0)or分享 (0)