Виджеты в веб-приложении - PullRequest
2 голосов
/ 15 февраля 2009

Я пишу веб-приложение, в котором будут виджеты, подобные iGoogle (но с другой информацией;)). Поскольку будут разные колонны, я хотел бы услышать ваши идеи о том, как вызывать модули в коде. Я хочу определить в базе данных, какие виджеты включены и в каком столбце они находятся и в каком порядке они должны отображаться. Я работаю с PHP и Zend Framework. Есть ли полезная практика для добавления виджетов?

Я думал сделать это так: Вы сохраняете имя виджета, и в нем будет папка с виджетами, а с require_once я включу файл и выполню команду по умолчанию, такую ​​как:

echo ExampleWidgetClass::run();

Ответы [ 3 ]

2 голосов
/ 24 февраля 2011

В зависимости от того, что вы пытаетесь достичь для своих пользователей, вы также можете рассмотреть спецификации внешних виджетов, такие как W3C Widgets (Apache Wookie) или OpenSocial Gadgets (Apache Shindig)

1 голос
/ 15 февраля 2009

Ваш подход звучит разумно: настаивайте на четко определенном интерфейсе для каждого виджета, а затем вызывайте этот метод (или эти методы) для каждого зарегистрированного виджета. Некоторые вещи, которые нужно иметь в виду:

  • абстракция: виджеты знают, где они находятся на странице, или насколько велико их окно?
  • безопасность: виджеты написаны третьими лицами? ты им доверяешь? нужно ли их выводить или дезинфицировать?
  • backend: некоторым виджетам может потребоваться выполнить backend-вызовы для получения данных. подумайте, как они запрашивают внутренние вызовы в пакете до отображения страницы. Одновременная отправка нескольких внутренних запросов (например, запросов sql) может повысить производительность страницы по сравнению с последовательными запросами.
0 голосов
/ 15 февраля 2009

Какое подтверждение вы ищете от нас? Если это ваша система, ваши виджеты, тогда просто запускайте их так, как считаете нужным?

То, что вы описываете, звучит очень похоже на твердую установку. Просто пойти на это, я бы сказал, а не спрашивать StackOverflow? : -Р

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...