Autor Zpráva
llook
Profil
Dá se nějak zjistit počet argumentů metody definované rozhranním nebo abstraktní třídou?

Psal jsem si takovej generátor falešných tříd. Prostě tomu předám název třídy a ono mi to vytvoří potomka, který si loguje každé volání každé metody.

Jenže s abstraktními metodami se to má tak, že musí mít stejné argumenty. Jinými slovy následující kód skončí fatální chybou(Declaration of Trida::metoda() must be compatible with that of Rozhrani::metoda()):
interface Rozhrani {

function metoda($argument = null);
}
class Trida implements Rozhrani {
function metoda() {
}
}

Hledal jsem mezi Class/Object, Runkit, Classkit a Function Handling funkcema a nenašel. Takže to asi nejde a budu muset generátoru předávat informace o povinných argumentech.

Ale stejně se pro jistotu ještě zeptám - nenapadá někoho nějaké elegantnější řešení?
jozob
Profil
llook
Na PHP.NET Ti neporadia?
llook
Profil
jozob Tam jsem hledal a nenašel, proto se ptám tady.
jozob
Profil
Tak neviem... IMHO si na tomto fóre najväčší odborník na PHP práve Ty, myslím, že tu Ti asi nepomôžeme (možno sa mýlim)...

Skús hodiť dotaz na nejaký iný (zahraničný) messageboard, možno Ti pomôžu v PHP fóre na programmersheaven.com
jozob
Profil
Ešte možno na http://www.phphelp.com/forums/
llook
Profil
Sakra já jsem lama. Mám to celou dobu přímo před nosem: http://www.php.net/manual/en/language.oop5.reflection.php

Kdybych se nepodíval, jak to řeší SimpleTest, tak bych to asi neobjevil...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0