Metodu si nezadefinujes, miesto toho si zadefinujes magicku metodu __call(), ktorej telo sa vykonava, ak sa nad objektom snazis volat neexistujucu metodu. __call berie dva argumenty - nazov metody, ktoru sa pokusas volat, a pole pouzitych argumentov. Nijak normalne ako v Jave to nejde. Google by ti urcite povedal viac.