[英]How do I get all the function names in the class? (Without extends)
我正在嘗試使用PHP獲取類中的所有函數名稱。 使用get_class_methods()
方法。 但這會寫入我擴展的類的函數名稱。 我想要的只是我正在調用的類的函數名稱。
范例:
class a {
public function index() {
//...
}
}
class b extends a {
public function indexb() {
//...
}
}
print_r(get_class_methods(new b()));
輸出:
array([0] => index, [1] => indexb);
(索引)我不要這個區域。
最好的祝福。
如果只希望子類的方法,則需要使用Reflection 。
<?php
class A
{
public function index() {}
}
class B extends A
{
public function indexB() {}
}
$reflection = new ReflectionClass('B');
$methods = array_reduce($reflection->getMethods(), function($methods, $method) {
if ($method->class == 'B') $methods[] = $method->name;
return $methods;
}, []);
print_r($methods);
還有一個工作示例: https : //3v4l.org/veTeQ
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.