SlideShare uma empresa Scribd logo
1 de 14
Programmazione ad eventi in PHP Implementare in PHP la programmazione ad eventi  Creare e gestire una coda di messaggi Usare gli eventi per scrivere componenti riusabili Gestire una pagina web usando gli eventi Implementare gli eventi e gestire una coda di messaggi
Programmazione ad eventi in PHP Paradigma della programmazione ad eventi ,[object Object],[object Object],[object Object],[object Object]
Programmazione ad eventi in PHP Pattern design per la programmazione ad eventi Observer Pattern
Programmazione ad eventi in PHP Pattern design per la programmazione ad eventi Extended Handlers Pattern
Programmazione ad eventi in PHP Pattern design per la programmazione ad eventi ,[object Object],[object Object],[object Object],[object Object],[object Object]
Programmazione ad eventi in PHP Un gestore di eventi in metalinguaggio while (true) { e = getEvent(); if (isEvent(e)) { handleEvent(e); // La funzione handleEvent chiama l’oggetto  // che si è registrato per processare l’evento. } else { idle(); } }
Programmazione ad eventi in PHP Eventi e messaggi in windows ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programmazione ad eventi in PHP Come si programma ad eventi con altri linguaggi public class Publisher {  // Declare the delegate (if using non-generic pattern).  public delegate void SampleEventHandler(object sender, SampleEventArgs e);  // Declare the event.  public event SampleEventHandler SampleEvent; // Wrap the event in a protected virtual method  // to enable derived classes to raise the event.  protected virtual void RaiseSampleEvent() {  // Raise the event by using the () operator.  SampleEvent(this, new SampleEventArgs("Hello"));  }  } … c = new Publisher(); c. SampleEvent += new SampleEventHandler (onTestEvent); c.RaiseSampleEvent(); … public static void onTestEvent(){ Console.WriteLine(“Hello World!”); } Esempio di codice in c#
Programmazione ad eventi in PHP Come si programma ad eventi con altri linguaggi type TStateChangeEvent = procedure (Sender : TObject; State : TState) of object; TSampleComponent = class(TSecondComponent) private { Private declarations } FOnMyEvent : TNotifyEvent; protected { Protected declarations } public { Public declarations } constructor Create(AOwner : TComponent); override; destructor Destroy; override; procedure MyEvent; override; published { Published declarations } property OnMyEvent : TNotifyEvent read FOnMyEvent write FOnMyEvent; end; … procedure TSampleComponent.MyEvent; begin inherited; //This calls TSecondComponent.MyEvent if Assigned(OnMyEvent) then OnMyEvent(Self); end; … Esempio di codice in Delphi
Programmazione ad eventi in PHP Programmare ad oggetti in PHP5 Costruttori e Distruttori ( __construct  __destruct ) Visibilita dei membri ( public, private, protected ) Operatore Scope Resolution ( :: ) class SimpleClass {     // member declaration     public $var = 'a default value';     // method declaration     public function displayVar() {         echo $this->var;     } }  Esempio di codice in Delphi
Programmazione ad eventi in PHP Come si può programmare ad eventi in php ,[object Object],[object Object],[object Object],[object Object],[object Object]
Programmazione ad eventi in PHP Creare un Dispatcher in PHP function DispachEvent($aEventName,&$aParams = null){ if (is_array($aParams)) { if (method_exists(&$this, $aEventName)) {  $result = call_user_func_array(array(&$this, $aEventName),&$aParams);  } else if (function_exists($aEventName)) {  $result = call_user_func_array($aEventName,&$this,&$aParams);  } } else { if (method_exists(&$this, $aEventName)) {  $result = call_user_func(array(&$this, $aEventName),&$aParams);  } else if (function_exists($aEventName)) {  $result = call_user_func($aEventName,&$this,&$aParams);  } } return $result; }
Programmazione ad eventi in PHP Creare la coda dei messaggi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programmazione ad eventi in PHP Creare la coda dei messaggi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Semelhante a Programmazione Ad Eventi In Php

Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Stefano Bianchini
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con ScalaFranco Lombardo
 
Simple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computingSimple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computingFrancesca1980
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceNaLUG
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
Come sviluppo le applicazioni web
Come sviluppo le applicazioni webCome sviluppo le applicazioni web
Come sviluppo le applicazioni webAndrea Lazzarotto
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiSimone Gentili
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHPextrategy
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Marco Loregian
 
Enrico Zimuel: La sicurezza delle applicazioni in PHP
Enrico Zimuel: La sicurezza delle applicazioni in PHPEnrico Zimuel: La sicurezza delle applicazioni in PHP
Enrico Zimuel: La sicurezza delle applicazioni in PHPFrancesco Fullone
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Davide Cerbo
 

Semelhante a Programmazione Ad Eventi In Php (20)

Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
Sicurezza Php (giugno 2010) Stefano Bianchini presso Ce.Se.N.A.
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
introduzione a symfony 2
introduzione a symfony 2 introduzione a symfony 2
introduzione a symfony 2
 
Html5 e PHP
Html5 e PHPHtml5 e PHP
Html5 e PHP
 
Applicazioni native in java
Applicazioni native in javaApplicazioni native in java
Applicazioni native in java
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
 
Simple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computingSimple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computing
 
Programma il futuro : una scelta Open Source
Programma il futuro : una scelta Open SourceProgramma il futuro : una scelta Open Source
Programma il futuro : una scelta Open Source
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13
 
Come sviluppo le applicazioni web
Come sviluppo le applicazioni webCome sviluppo le applicazioni web
Come sviluppo le applicazioni web
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
 
Introduzione al linguaggio PHP
Introduzione al linguaggio PHPIntroduzione al linguaggio PHP
Introduzione al linguaggio PHP
 
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. PirasBig Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
 
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 
Enrico Zimuel: La sicurezza delle applicazioni in PHP
Enrico Zimuel: La sicurezza delle applicazioni in PHPEnrico Zimuel: La sicurezza delle applicazioni in PHP
Enrico Zimuel: La sicurezza delle applicazioni in PHP
 
Yagwto
YagwtoYagwto
Yagwto
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)
 

Mais de GrUSP

REST e Resource Oriented Architectures
REST e Resource Oriented ArchitecturesREST e Resource Oriented Architectures
REST e Resource Oriented ArchitecturesGrUSP
 
Drupal come framework di sviluppo
Drupal come framework di sviluppoDrupal come framework di sviluppo
Drupal come framework di sviluppoGrUSP
 
PayPal e PHP
PayPal e PHPPayPal e PHP
PayPal e PHPGrUSP
 
Zend Server
Zend ServerZend Server
Zend ServerGrUSP
 
Zend Dojo
Zend DojoZend Dojo
Zend DojoGrUSP
 
PHP & IBM i
PHP & IBM iPHP & IBM i
PHP & IBM iGrUSP
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriGrUSP
 
Symfony 2.0
Symfony 2.0Symfony 2.0
Symfony 2.0GrUSP
 
Memi Beltrame Collaborative Design
Memi Beltrame Collaborative DesignMemi Beltrame Collaborative Design
Memi Beltrame Collaborative DesignGrUSP
 
Mocking Objects Practices
Mocking Objects PracticesMocking Objects Practices
Mocking Objects PracticesGrUSP
 

Mais de GrUSP (10)

REST e Resource Oriented Architectures
REST e Resource Oriented ArchitecturesREST e Resource Oriented Architectures
REST e Resource Oriented Architectures
 
Drupal come framework di sviluppo
Drupal come framework di sviluppoDrupal come framework di sviluppo
Drupal come framework di sviluppo
 
PayPal e PHP
PayPal e PHPPayPal e PHP
PayPal e PHP
 
Zend Server
Zend ServerZend Server
Zend Server
 
Zend Dojo
Zend DojoZend Dojo
Zend Dojo
 
PHP & IBM i
PHP & IBM iPHP & IBM i
PHP & IBM i
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Symfony 2.0
Symfony 2.0Symfony 2.0
Symfony 2.0
 
Memi Beltrame Collaborative Design
Memi Beltrame Collaborative DesignMemi Beltrame Collaborative Design
Memi Beltrame Collaborative Design
 
Mocking Objects Practices
Mocking Objects PracticesMocking Objects Practices
Mocking Objects Practices
 

Programmazione Ad Eventi In Php

  • 1. Programmazione ad eventi in PHP Implementare in PHP la programmazione ad eventi Creare e gestire una coda di messaggi Usare gli eventi per scrivere componenti riusabili Gestire una pagina web usando gli eventi Implementare gli eventi e gestire una coda di messaggi
  • 2.
  • 3. Programmazione ad eventi in PHP Pattern design per la programmazione ad eventi Observer Pattern
  • 4. Programmazione ad eventi in PHP Pattern design per la programmazione ad eventi Extended Handlers Pattern
  • 5.
  • 6. Programmazione ad eventi in PHP Un gestore di eventi in metalinguaggio while (true) { e = getEvent(); if (isEvent(e)) { handleEvent(e); // La funzione handleEvent chiama l’oggetto // che si è registrato per processare l’evento. } else { idle(); } }
  • 7.
  • 8. Programmazione ad eventi in PHP Come si programma ad eventi con altri linguaggi public class Publisher { // Declare the delegate (if using non-generic pattern). public delegate void SampleEventHandler(object sender, SampleEventArgs e); // Declare the event. public event SampleEventHandler SampleEvent; // Wrap the event in a protected virtual method // to enable derived classes to raise the event. protected virtual void RaiseSampleEvent() { // Raise the event by using the () operator. SampleEvent(this, new SampleEventArgs("Hello")); } } … c = new Publisher(); c. SampleEvent += new SampleEventHandler (onTestEvent); c.RaiseSampleEvent(); … public static void onTestEvent(){ Console.WriteLine(“Hello World!”); } Esempio di codice in c#
  • 9. Programmazione ad eventi in PHP Come si programma ad eventi con altri linguaggi type TStateChangeEvent = procedure (Sender : TObject; State : TState) of object; TSampleComponent = class(TSecondComponent) private { Private declarations } FOnMyEvent : TNotifyEvent; protected { Protected declarations } public { Public declarations } constructor Create(AOwner : TComponent); override; destructor Destroy; override; procedure MyEvent; override; published { Published declarations } property OnMyEvent : TNotifyEvent read FOnMyEvent write FOnMyEvent; end; … procedure TSampleComponent.MyEvent; begin inherited; //This calls TSecondComponent.MyEvent if Assigned(OnMyEvent) then OnMyEvent(Self); end; … Esempio di codice in Delphi
  • 10. Programmazione ad eventi in PHP Programmare ad oggetti in PHP5 Costruttori e Distruttori ( __construct __destruct ) Visibilita dei membri ( public, private, protected ) Operatore Scope Resolution ( :: ) class SimpleClass {     // member declaration     public $var = 'a default value';     // method declaration     public function displayVar() {         echo $this->var;     } } Esempio di codice in Delphi
  • 11.
  • 12. Programmazione ad eventi in PHP Creare un Dispatcher in PHP function DispachEvent($aEventName,&$aParams = null){ if (is_array($aParams)) { if (method_exists(&$this, $aEventName)) { $result = call_user_func_array(array(&$this, $aEventName),&$aParams); } else if (function_exists($aEventName)) { $result = call_user_func_array($aEventName,&$this,&$aParams); } } else { if (method_exists(&$this, $aEventName)) { $result = call_user_func(array(&$this, $aEventName),&$aParams); } else if (function_exists($aEventName)) { $result = call_user_func($aEventName,&$this,&$aParams); } } return $result; }
  • 13.
  • 14.