этот код тоже по оформлению не пройдет. 
вместо замыканий или callback'ов лучше передавать строку с телом данной функции и использовать create_function: `$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');` это во первых позволит избежать проблем с сериализацией при кешировании, а во вторых менее ресурсоемко: замыкание нужно создать только при проверке роута, а до этого может и не дойти и съэкономит ресурсы\время.