[ zgas @ 06.10.2008. 20:14 ] @
Potrebno mi da programiram jedanu veoma korisnu PHP klasu koja bi istrazivala kod-ove - strukture drugih php klasa. Posto ne postoje funkcije za ovu namenu u samom PHp-u, moram napraviti pomenutu kalsu. Osnove ovog alata: Poznato je da u metodama vecine klasa postoji pozivanje metoda iz iste klase. Imam veliku potrebu da automatski dobijem izvestaj o tome, koje metode klase pozivaju u sebi druge metode iste klase. Kao sto znamo, metode to rade uglavnom na "$this->" ili "self::" nacin. Primer: Code: class Klasa { protected static function metod1() { } protected static function metod2() { } protected static function metod3() { self::metod1(); self::metod2(); } } Najuprosceniji tip izvestaja bi mogao biti ovakav: Code: array( 'metod1' => array() 'metod2' => array() 'metod3' => array('metod1', 'metod2') ) Da li mozete da mi pomognete, na koji nacin mogu izvrsiti parsovanje koda. Vrlo slabo baratam sa regularnim izrazima koji bi se ovde, pretpostavljam koristili. Za uspesan rad potebno je da se rese 3 kljucna problema: 1. Prvo je potrebno da klasa detektuje imena svih metoda koje klasa koja se istrazuje ima. 2. Pri citanju svake linije koda, detektovati da li se citac nalazi u nekoj metodi, i kojoj. 3. Pri citanju svake linije koda, detektovati da li postoji u njoj pozivanje nekog metoda, i kojeg. Molim vas ako mozete pomoci u ova tri priblema narocitu u 2. i 3. Mnogo vam hvala. |