views:

136

answers:

2

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();
A: 

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

SchizoDuckie
I am trying to get better at programming and finding out about other opinions and ways of doing things. Since I can't read every blog on the planet I rely on this great community where many people give me ideas which make sense but I would not have come up with.
Thomaschaaf
+1  A: 

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:

  • abstraction: do the widgets know where they are on the page, or how big their window is?
  • security: are the widgets written by 3rd parties? do you trust them? does their output need to be escaped or sanitized?
  • backend: some widgets may need to make backend calls to get data. consider how they request backend calls be made in a batch before the page is rendered. dispatching multiple backend requests (such as sql queries) simultaneously can yield better page performance than querying sequentially.
lucas-insasho