Słyszałem o get_class_methods()
, ale czy istnieje sposób w PHP, aby zebrać tablicę wszystkich publicznych metod z konkretnej klasy?PHP, jak wyświetlić wszystkie publiczne funkcje klasy
Odpowiedz
Tak, możesz zajrzeć do klas/metod refleksji.
http://php.net/manual/en/book.reflection.php i http://www.php.net/manual/en/reflectionclass.getmethods.php
$class = new ReflectionClass('Apple');
$methods = $class->getMethods(ReflectionMethod::IS_PUBLIC);
var_dump($methods);
Kopiuję prostotę, która jest spowodowana przez używanie statyki, a nie przechodzenie przez instancję Reflectionmethod – Kristian
Czy próbowałeś w ten sposób?
$class_methods = get_class_methods(new myclass());
foreach ($class_methods as $method_name) {
echo "$method_name\n";
}
Myślę, że Kristian prosi o podanie publicznych metod. – Stegrex
Po zdobyciu wszystkich metod z get_class_methods($theClass)
można pętli nich coś takiego:
foreach ($methods as $method) {
$reflect = new ReflectionMethod($theClass, $method);
if ($reflect->isPublic()) {
}
}
Jak get_class_methods()
jest zakres wrażliwych, można dostać wszystko publiczne metody klasy po wywołaniu funkcji spoza zakresu klasy:
więc wziąć tę klasę:
class Foo {
private function bar() {
var_dump(get_class_methods($this));
}
public function baz() {}
public function __construct() {
$this->bar();
}
}
var_dump(get_class_methods('Foo'));
wyjście będzie następujący:
array
0 => string 'baz' (length=3)
1 => string '__construct' (length=11)
Podczas połączenia z wnętrza zakresu klasy (new Foo;
) zwróci:
array
0 => string 'bar' (length=3)
1 => string 'baz' (length=3)
2 => string '__construct' (length=11)
- 1. PHP: Wrap wszystkie funkcje klasy w podklasie
- 2. Jak wyświetlić publiczne zbiory danych?
- 3. Jak wywołać wszystkie funkcje PHP w tablicy
- 4. Parsing Klasy, funkcje i argumenty w PHP
- 5. Można wyświetlić wszystkie klasy PHP i ich metody i właściwości?
- 6. Funkcje publiczne z wtyczki jQuery
- 7. chronione/publiczne Klasy wewnętrzne
- 8. Jak mogę wyświetlić wszystkie funkcje w skrypcie js mojego węzła?
- 9. Jak wyświetlić wszystkie właściwości klas?
- 10. Czy niezadeklarowane klasy w Javie są publiczne?
- 11. Jak wyświetlić wszystkie obiekty utworzone z klasy w Ruby?
- 12. Pobierz wszystkie rozszerzonych klasy w PHP
- 13. Zapytanie o wszystkie publiczne posty na Facebooku
- 14. Uzyskaj wszystkie zdefiniowane klasy klasy dominującej w php
- 15. Jak wyświetlić wszystkie etykiety boxplot?
- 16. Wyszukaj wszystkie wydarzenia publiczne w obszarze
- 17. jak publiczne jest publiczne repozytorium github?
- 18. PHP, jak zaimportować wszystkie klasy z innej przestrzeni nazw
- 19. Funkcje lub klasy zagłuszania
- 20. Jak mogę znaleźć wszystkie publiczne komentarze do użytkownika Github?
- 21. Funkcje klasy prywatnej a Funkcje w bezimiennej przestrzeni nazw
- 22. Czy mogę wyświetlić wszystkie pliki cookie ustawione w PHP?
- 23. PHP DateTime funkcje
- 24. Jak zastąpić funkcje klasy nadrzędnej w pythonie?
- 25. Php (eval vs call_user_func vs funkcje zmienne ...)
- 26. Otrzymuj publiczne posty na Facebooku ze strony do tablicy php
- 27. Jak wyświetlić wszystkie strony i wszystkie rozdziały za pomocą nl.siegmann.epublib
- 28. Jak wyświetlić wszystkie niesystemowe procedury przechowywane?
- 29. Jak wyświetlić wszystkie ostrzeżenia w SBT 0.11?
- 30. Jak wyświetlić wszystkie słowa zawierające te znaki?
Uhm, 'get_class_methods (klasa $)' * jest * sposobem na zebranie tablicy wszystkich publicznych metod danej klasy ... –
jeśli chcesz użyć 'get_class_meth ods', aby pobrać TYLKO publiczne metody, musi być użyty poza klasą. – Federkun
get_class_methods (klasa $) zwraca wszystkie metody, które są publiczne lub nie zawierają słów kluczowych. Tak więc żadne prywatne metody nie zostaną zwrócone. – daslicht