I am writing a webapplication which will have widgets like iGoogle does (but with different information ;)). Since there will be different colomns I would love to hear your ideas on how to call the modules in the code. I want to define in the database what widgets are enabled and in what column they are and in what order they should appear. I am working with PHP and the Zend Framework. Is there any good practice to add the widgets?
I was thinking of doing it like this: You save the widgets name and there would be a folder with widgets in them and with require_once I would include the file and execute a default command like:
echo ExampleWidgetClass::run();
Your approach sounds reasonable: insist on a well-defined interface for each widget, and then invoke that method (or those methods) for each registered widget. Some things to keep in mind:
What kind of confirmation are you looking for from us? If it's your system, your widgets, then just run them the way you think is best ?
What you describe sounds a lot like a solid setup. Just go for it I'd say and not ask StackOverflow? :-P
Depending on what you are trying to achieve for your users, you may also want to consider external widget specifications like W3C Widgets (Apache Wookie) or OpenSocial Gadgets (Apache Shindig)