Provjeriti vidljivosti funkcije

Je li moguće provjeriti vidljivosti funkcije u klasama?

Znaci ako je funkcija public vraća true, ako je private/protected vraća false?

Pa ako je funkcija private ili protected, ona uopće neće biti vidljiva van klase, tako da ne znam zašto te to muči, možda ne bi bilo loše navesti neki primjer. Ali možda možeš provjeriti sa

get_defined_functions();

http://www.php.net/manual/en/function.get-defined-functions.php

Aplikacija.php pokrece funkcije preko $_GET-a… Nesto tipa MVC, funkcija je “podstranica”… I sad kad korisnik upise: private function test(){} i otvori: index.php?f=test, vratit ce mu error jer je private funkcija… Kako da izbjegnem errore, da ako je private ili protected da ju ni neotvori?

Je li to moguce?

Nema smisla kad bi se moglo. Pogledaj kako je to riješeno kod Kohane, Yii-a i ostalih fancy frm-a, nema smisla toplu vodu izmišljati.

Jedino bi mogao staviti u konstruktor recimo da ju pokreće, jer private funkciju ne možeš pokrenuti van neke klase, nego samo unutra i nije nasljedna. Možda tražoš protected? Pogledaj si prvi rezultat od “php visibility”.

[quote=“jojo”]Je li moguće provjeriti vidljivosti funkcije u klasama?

Znaci ako je funkcija public vraća true, ako je private/protected vraća false?[/quote]

Mozes to provjeriti sa npr. :

http://www.php.net/manual/en/function.is-callable.php

ali mislim da ti je dizajn aplikacije pogresan ako to radis na takav nacin.

recimo kod Zend da bi se moglo pristupiti preko URL mora uz public vidljivost završavati na Action.
Primjer:
indexAction


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja