CGI :: PANEEL

Vastgestelde gebeurtenis-aangedreven webtoepassingen maken van eenvoudige paneelobjecten
Download nu

CGI :: PANEEL Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Rob Symes
  • Uitgever website:
  • http://search.cpan.org/~rsymes/

CGI :: PANEEL Tags


CGI :: PANEEL Beschrijving

Maak stateful Event-Driven Web-applicaties van Simple Panel-objecten CGI :: Panel is een PERL-module waarmee aanvragen kunnen worden opgebouwd uit eenvoudige op object gebaseerde componenten. Het zal de status van uw gegevens en objecten verwerken, zodat u een webtoepassing kunt schrijven, net als een desktop-app. U kunt de HTTP-verzoeken en reacties vergeten, of we het nu krijgen of plaatsen, en al die spul omdat dat allemaal wordt behandeld voor u die naar u verlaat om te communiceren met een eenvoudige API.AN-toepassing is gemaakt van een set van 'Panels', die elk andere panelen kunnen bevatten. De panelen worden beheerd achter de schermen als aanhoudende objecten. Zie de voorbeeldtoepassingen voor voorbeelden van hoe complexe object-gebaseerde applicaties kunnen worden opgebouwd uit eenvoudige ingekapselde componenten. Om de demo-app te proberen, kopieert u de inhoud van de 'Demo'-map naar een CGI-bin-directory.CGI :: Panel Hiermee kunt u de logica van uw toepassing op een evenementgedreven manier ontwerpen. Dat wil zeggen, u hebt uw toepassing opgezet zoals u het wilt, met speciale knoppen en koppelingen die 'Evenementen' triggeren. De toepassing zit dan terug en wanneer een gebeurtenis wordt geactiveerd, wordt de code die aan die gebeurtenis is gekoppeld. De code die op een evenement reageert, gaat in dezelfde klasse als de code die de gebeurtenisknop of link genereert, waardoor de code leesbaarder en onderhoudbaar is. Als de gebeurteniscode de toestand van een van de panelen wijzigt, blijven de panelen dan in de nieuwe staat, totdat hun staat opnieuw wordt gewijzigd. Eerlijk is niet alleen ingekapseld in termen van de code, maar in termen van de formuliergegevens die wordt doorgegeven. Een paneelklasse kan bijvoorbeeld worden gedefinieerd met een tekstveld genaamd 'Naam'. Drie instanties van dit paneel kunnen dan tegelijkertijd bestaan en elk krijgt de juiste waarde van de parameter 'Naam' wanneer ze hun parameters lezen (zie de methode 'Local_params'). Synopsisa Zeer eenvoudige werkaanvraag bestaande uit een CGI en twee paneelklassen ... in SimpleAPP.CGI: Gebruik SimleAPP; mijn $ simple_app = verkrijg SIMEAPP; $ Simple_App-> Cyclus (); in SimpleAPP.PM: Pakket SimleAPP; Gebruik basis qw (CGI :: paneel); gebruik mand; sub init {mijn ($ self) = @_; $ self-> add_panel ('basket 1', nieuwe mand); # Voeg een subpaneel toe $ self-> add_panel ('basket2', nieuwe mand); # Voeg een subpaneel toe $ self-> add_panel ('basket 3', nieuwe mand); # Voeg een subpaneel toe $ zelf -> {count} = 1; # Initialiseren sommige persistente gegevens} sub _event_add {# reageren op de knop Klik op Evenement onder mijn ($ zelf, $ evenement) = @_; $ zelf -> {count} ++; # Wijzig de aanhoudende gegevens} subweergave {mijn ($ self) = @_; Return 'Dit is een heel eenvoudige app.' . # Toon de aanhoudende gegevens ... "Mijn huidige telling is $ zelf -> {count}". # Geef de subpanelen weer ... " ". "". $ self-> paneel ('basket 1') -> display. "". "". $ self-> paneel ('basket2') -> display. "". "". $ self-> panel ('basket 3') -> display. "". " ". # Geef een knop weer die een gebeurtenis zal genereren ... $ self-> event_button (label => 'toevoegen 1', naam => 'toevoegen'); } 1; in basket.pm: pakketmand; Gebruik basis qw (CGI :: paneel); sub init {mijn ($ self) = @_; $ zelf -> {inhoud} = []; } sub _event_add {# reageren op de knop Evenement in 'Display' My ($ Self, $ Event) = @_; # Get Panel's gelokaliseerde parameters # (veel gevallen van dit paneel krijgen elk # hun eigen lokale parameters) My% local_params = $ self-> local_params; Druk op @ {$ self -> {inhoud}}, $ local_params {item_name}; } subweergave {mijn ($ self) = @_; Keer terug '

'. Doe mee ('' ', (kaart {"} @ {$ self -> {inhoud}})). ''. # Gelokaliseerd tekstveld ''. ''; }; 1; Vereisten: · Perl


CGI :: PANEEL Gerelateerde software

$ _
'. $ self-> local_textfield ({naam => 'item_name', size => 10}). ''. # Knop die een gebeurtenis zal genereren (afgehandeld door _event_add hierboven) ''. $ self-> event_button (label => 'toevoegen', naam => 'toevoegen'). ''. '