Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzenie dostępu do metody, Jak określić czy dostęp do metody jest publiczny, prywatny czy inny
jarrod
post
Post #1





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Zaciąłem się na jednym kodzie.

  1. <?php
  2. $methods = get_class_methods($ctrlclass /*jakaś nazwa kalsy (otrzymana w pętli)*/);
  3. foreach ($methods as $k => $method) {
  4.      // jaki access ma metoda $method?
  5. }
  6. ?>


Pobieram listę kontrolerów i wyciągam z nich wszystkie metody. Na tej podstawie buduję ACL.
Jako, że nie mam zamiaru budować drzewa dla metod prywatnych (bo nie są akcjami) to chciałbym je ominąć.
I tu problem. W manualu nie znalazłem funkcji, która odpowie mi na pytanie "czy ta mtegoda jest prywatna czy ma inny access?".
Zatem pytam się Was.
Go to the top of the page
+Quote Post
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witam!

Nie wiem czy dobrze Cię rozumiem, ale może is_callable() pomoże.

Pozdrawiam!
Go to the top of the page
+Quote Post
m44
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 10
Dołączył: 16.11.2008

Ostrzeżenie: (0%)
-----


Witam,
Zainteresuj sie tym, np. ReflectionClass.
Go to the top of the page
+Quote Post
jarrod
post
Post #4





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Generalnie nie. Ale dzięki tej funkcji trafiłem na inną klasę dostępną w PHP (Zend Engine) ReflectionMethod
Posiada metody m.in. sprawdzenia dostepu
http://nz.php.net/manual/en/language.oop5....eflectionmethod

Cytat(m44 @ 6.08.2009, 03:28:17 ) *
Witam,
Zainteresuj sie tym, np. ReflectionClass.

Napisałeś to w trakcie mojej odpowiedzi :-)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:12