Ce face get_class_methods
get_class_methods listează metodele, inclusiv cele moștenite și cele statice. Din afara clasei vezi doar metodele publice; din interiorul ei, toate.
Este util la depanare sau când explorezi o clasă dintr-o bibliotecă. Pentru informații complete (parametri, tipuri, vizibilitate) folosește ReflectionClass.
Parametri
| Parametru | Descriere |
|---|---|
$object_or_class |
Obiectul sau numele clasei. |
Ce returnează
Un tablou cu numele metodelor.
Exemple
Exemplul 1: Metodele vizibile din exterior
<?php
class Document
{
public function titlu() {}
}
class Factura extends Document
{
public function __construct() {}
public function total() {}
public static function dinTablou() {}
private function calculeazaTva() {}
}
print_r(get_class_methods("Factura"));
Rezultat
Array
(
[0] => __construct
[1] => total
[2] => dinTablou
[3] => titlu
)
Exemplul 2: Metodele publice ale unei clase din PHP
<?php
$metode = get_class_methods("ArrayObject");
echo count($metode) . " metode, de exemplu: " . implode(", ", array_slice($metode, 0, 5));
Rezultat
25 metode, de exemplu: __construct, offsetExists, offsetGet, offsetSet, offsetUnset
Greșeli frecvente
- Cauți o metodă cu
in_array("total", get_class_methods($x)). Comparația ține cont de majuscule, dar numele de metode nu. Foloseștemethod_exists.
Comenzi înrudite
method_exists: Verifică dacă o clasă sau un obiect are o metodă cu un anumit nume.get_class_vars: Returnează proprietățile declarate ale unei clase, cu valorile lor implicite, fără să creezi un obiect.get_class / get_parent_class: Returnează numele clasei unui obiect (get_class) sau numele clasei părinte (get_parent_class).