2009-02-14 6 views
2

J'écris une application web qui aura des widgets comme iGoogle (mais avec des informations différentes;)). Comme il y aura des colonnes différentes, j'aimerais entendre vos idées sur la façon d'appeler les modules dans le code. Je veux définir dans la base de données quels widgets sont activés et dans quelle colonne ils sont et dans quel ordre ils doivent apparaître. Je travaille avec PHP et le Zend Framework. Existe-t-il une bonne pratique pour ajouter les widgets?Widgets sur une application web

Je pensais à le faire comme ceci: Vous enregistrez le nom de widgets et il y aurait un dossier avec des widgets en eux et avec require_once j'inclure le fichier et exécuter une commande par défaut comme:

echo ExampleWidgetClass::run(); 

Répondre

1

Votre approche semble raisonnable: insistez sur une interface bien définie pour chaque widget, puis invoquez cette méthode (ou ces méthodes) pour chaque widget enregistré. Quelques points à garder à l'esprit:

  • abstraction: les widgets savent-ils où ils se trouvent sur la page ou quelle est leur taille?
  • sécurité: les widgets sont-ils écrits par des tiers? leur faites-vous confiance? leur sortie doit-elle être échappée ou assainie? Backend: certains widgets peuvent avoir besoin de faire des appels backend pour obtenir des données. considérez comment ils demandent que les appels backend soient effectués dans un lot avant que la page ne soit rendue. l'envoi simultané de plusieurs requêtes backend (telles que les requêtes sql) peut améliorer les performances de la page par rapport aux requêtes séquentielles.
0

Quel type de confirmation recherchez-vous chez nous? Si c'est votre système, vos widgets, alors exécutez-les comme vous le pensez est le meilleur? Ce que vous décrivez ressemble beaucoup à une installation solide. Juste pour le dire je dirais et ne demande pas StackOverflow? :-P

+0

Je suis en train de s'améliorer à la programmation et de découvrir d'autres opinions et façons de faire les choses. Comme je ne peux pas lire tous les blogs de la planète, je me fie à cette grande communauté où beaucoup de gens me donnent des idées qui ont du sens mais que je n'aurais pas trouvées. – Thomaschaaf

2

Selon ce que vous essayez d'atteindre vos utilisateurs, vous pouvez également considérer les spécifications du widget externes comme W3C Widgets (Apache Wookie) ou OpenSocial Gadgets (Apache Shindig)

Questions connexes