Subject: | better inheritance in Maypole::Application |
Mp::App 2.09 pushes the frontend class onto Mp::App::ISA, and then pushes Mp::App onto the application's @ISA. It does this because the code to determine the frontend class runs outside the import method, and therefore doesn't know the calling class.
The patches I've already submitted move the frontend code to the import method, so the application class is known, and the frontend can be inherited directly by the app and not via Mp::App. Instead of pushing @plugin_modules, $class you can push @plugin_modules, $frontend.
I'm writing a module to generate multiple Maypole apps on the fly. The current arrangement results in the frontend being added to @Mp::App::ISA once for every app - which could be hundreds of times.