CGI :: Panel.

Erstellen Sie standardmäßige ereignisgesteuerte Webanwendungen von einfachen Panel-Objekten
Jetzt downloaden

CGI :: Panel. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Rob Symes
  • Website des Verlags:
  • http://search.cpan.org/~rsymes/

CGI :: Panel. Stichworte


CGI :: Panel. Beschreibung

Erstellen Sie statistische ereignisgesteuerte Webanwendungen von einfachen Plattenobjekten CGI :: Panel ist ein Perl-Modul, mit dem Anwendungen aus einfachen objektbasierten Komponenten ausgewählt werden können. Es wird mit dem Status Ihrer Daten und Objekte umgehen, sodass Sie eine Webanwendung wie eine Desktop-App schreiben können. Sie können die HTTP-Anfragen und -antworten vergessen, egal ob wir erhalten oder posten, und all das, da alles, da alles von Ihnen gehandhabt wird, um Sie mit einer einfachen API-Anwendung interagieren, die mit einer einfachen API-Anwendung interagieren. Jeder davon kann andere Paneele enthalten. Die Paneele werden als persistente Objekte hinter den Kulissen verwaltet. Die Beispielanwendungen finden Sie in den Beispielen, wie komplexe objektbasierte Anwendungen aus einfachen eingekapselten Komponenten erstellt werden können. Um die Demo-App auszuprobieren, kopieren Sie den Inhalt des Verzeichnisses 'Demo' in ein CGI-BIN-Directory.cgi :: Panel können Sie die Logik Ihrer Anwendung auf ereignisgesteuerte Weise gestalten. Das heißt, Sie haben Ihre Anwendung so eingerichtet, wie Sie es möchten, mit speziellen Schaltflächen und Links, die "Ereignisse" auslösen. Die Anwendung setzt sich dann zurück und wenn ein Ereignis ausgelöst wird, wird der mit diesem Ereignis verbundene Code ausgeführt. Der Code, der auf ein Ereignis antwortet, geht in derselben Klasse wie der Code, der die Ereignis-Taste oder den Link erzeugt, wodurch der Code lesbarer und wartender ist. Wenn der Ereigniscode den Zustand eines der Paneele ändert, bleiben die Panels dann im neuen Zustand, bis ihr Zustand erneut geändert wird wird durchlaufen. Beispielsweise kann eine Panel-Klasse definiert werden, die ein Textfeld namens "Name" hat. Drei Instanzen dieses Panels können dann gleichzeitig existieren und jeder wird der richtige Wert des Parameters 'Name' erhalten, wenn sie ihre Parameter lesen (siehe "Local_Params" -Methode) .Synopsisa Sehr einfacher Arbeitsantrag, bestehend aus einem Treiber CGI und zwei Panelklassen ... in SimplyApp.cgi: Verwenden Sie SimplyApp; Mein $ Simple_App = SimplyApp; $ einfach_app-> zyklus (); in SimplyApp.pm: Packung SimpleApp; Verwenden Sie Basis QW (CGI :: Panel); Korb verwenden; SUBIT INIT {MY ($ self) = @_; $ selbst-> add_panel ('basking1', neuer Korb); # Fügen Sie ein Unterfeld $ self-> add_panel ('bask2', neuer Korb); # Fügen Sie ein Teilfeld $ self-> add_panel ('bask3', neuer Korb); # Fügen Sie ein Unterfeld $ selbst hinzu -> {count} = 1; # Initialisieren Sie einige persistente Daten} sub _event_add {# Antworten auf die Schaltfläche Klick-Event unter meinem ($ self, $ Event) = @_; $ self -> {count} ++; # Ändern Sie die persistenten Daten} Unteranzeige {MY ($ self) = @_; Rückkehr 'Dies ist eine sehr einfache App.' . # Zeigen Sie die anhaltenden Daten an ... "Meine aktuelle Anzahl ist $ self -> {count}". # Zeigt die Unterpaneele an ... " ". "". $ selbst-> Panel ('Basket1') -> Anzeige. "". "". $ selbst-> Panel ('Basket2') -> Anzeige. "". "". $ selbst-> Panel ('Basket3') -> Anzeige. "". "

". # Zeigt einen Knopf an, der ein Ereignis generiert ... $ self-> event_button (label => 'add 1', name => 'add'); } 1; in bask.pm: Paketkorb; Verwenden Sie Basis QW (CGI :: Panel); SUBIT INIT {MY ($ self) = @_; $ self -> {Inhalt} = []; } sub _event_add {# antwortet auf das Button-Ereignis in 'Display' My ($ Self, $ Event) = @_; # Lokalisierte Parameter des Panels (viele Instanzen dieses Panels, die jeweils # ihre eigenen lokalen Parameter erhalten) my% local_params = self-> local_params; Push @ {$ self -> {Inhalt}} $ local_params {item_name}; } Subdisplay {my ($ self) = @_; Rückkehr '
'. join ( '', (map { ""} @ {$ self -> {Inhalt}})). ''. # Lokalisierte Textfeld ''. '
$ _
'. $ Self-> local_textfield ({name => 'item_name', size => 10}). ''. # Taste, die ein Ereignis (von _event_add oben behandelt) generiert. $ Self-> event_button (label => 'Add', name => 'Add'). ''. '
'; }; 1; Anforderungen: · Perl.


CGI :: Panel. Zugehörige Software