2

我正在编写一个 web 应用程序,它将具有像 iGoogle 一样的小部件(但具有不同的信息;))。由于会有不同的列,我很想听听您关于如何在代码中调用模块的想法。我想在数据库中定义启用了哪些小部件以及它们在哪一列中以及它们应该以什么顺序出现。我正在使用 PHP 和 Zend 框架。添加小部件有什么好的做法吗?

我正在考虑这样做:您保存小部件名称,并且其中会有一个包含小部件的文件夹,并且使用 require_once 我将包含该文件并执行一个默认命令,例如:

echo ExampleWidgetClass::run();
4

3 回答 3

2

根据您要为用户实现的目标,您可能还需要考虑外部小部件规范,例如 W3C 小部件 (Apache Wookie) 或 OpenSocial Gadgets (Apache Shindig)

于 2011-02-24T19:06:54.703 回答
1

您的方法听起来很合理:坚持为每个小部件提供定义良好的接口,然后为每个注册的小部件调用该方法(或那些方法)。需要记住的一些事项:

  • 抽象:小部件是否知道它们在页面上的位置,或者它们的窗口有多大?
  • 安全性:小部件是由第三方编写的吗?你相信他们吗?他们的输出是否需要转义或消毒?
  • 后端:某些小部件可能需要进行后端调用才能获取数据。考虑他们如何在页面呈现之前请求批量进行后端调用。同时分派多个后端请求(例如 sql 查询)可以产生比顺序查询更好的页面性能。
于 2009-02-15T07:41:01.720 回答
0

您希望我们提供什么样的确认?如果它是您的系统、您的小部件,那么就以您认为最好的方式运行它们?

你所描述的听起来很像一个可靠的设置。就去做吧,我会说而不是问 StackOverflow?:-P

于 2009-02-15T00:46:24.023 回答