One part should be merged: if ($auxiliaire->getValue () === Auxiliaire::Etre || $voice->getValue () === Voice::Passive) { I have this condition twice, once for composite und once for !composite, but it works for both
You want xdebug I think. Install it on the server, turn it on, pump the output through kcachegrind (for linux) or wincachegrind (for windows) and it'll show you a few pretty charts that detail the exact timings, counts and memory usage (but you'll need another extension for that).
It rocks, seri...
I need to replace the the last ending letter if it is an 'e' to 'é' for [Mood::Indicatif][Tense::Present][Person::FirstPersonSingular] for $sentencetype->getValue () === SentenceType::InterrogativeSentence
as I said, you would use the call_user_func as I wrote and for those functions that are used multiple times you would write forwarding functions like this: