Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[PHP] Controllare "$var" sia istanza di una specif

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[PHP] Controllare "$var" sia istanza di una specif

Messaggioda Zane » gio giu 21, 2007 6:41 pm

Ciao a tutti.

Prima di fare una assegnazione, avrei bisogno di validare l'input del metodo, ed accertarmi che sia stato passo come parametro una istanza di una specifica classe da me definita ("Spotlight")

Ecco il codice

Codice: Seleziona tutto
/**
   * Setter per l'omonimo attributo. Invocando save(), le modifiche così apportate verranno salvate anche nel DB.
   * @access Public
   * @param Spotlight $val Il valore da assegnare a questo attributo. Deve essere una istanza di Spotlight!!
   * @return void
   */
   function setSpotlight($val)
      {
      if(VAL è DI TIPO SPOTLIGHT)
         {$this->oSpotlight=$val;}
      else
         { throw new SpotlightException("Hai passato a oCanale->setSpotlight($val) un parametro non-valido! Solo una istanza della classe Spotlight può essere assegnata alla variabile oSpotlight della classe Canale!"); }
      }


Sapete dirmi quale comando mettere al posto di "VAL è DI TIPO SPOTLIGHT"? Avevo trovato gettype(), ma quel bel WARNING in mezzo alla pagina non è molto invitante [acc2]
Avatar utente
Zane
MLI Hero
MLI Hero
 
Messaggi: 7935
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara

Messaggioda Bocca » gio giu 21, 2007 6:49 pm

Bocca - Responsabile Grafico MegaLab.it
Mac is for people who like to look at computers. PC is for people who like to use them!
Avatar utente
Bocca
Silver Member
Silver Member
 
Messaggi: 1637
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara

Messaggioda Zane » gio giu 21, 2007 10:52 pm

Ottimo Boccaglio, instanceof è proprio quello che faceva al caso mio [applauso+]

Questo il codice funzionante

Codice: Seleziona tutto
/**
   * Setter per l'omonimo attributo. Invocando save(), le modifiche così apportate verranno salvate anche nel DB.
   * @access Public
   * @param Spotlight $val Il valore da assegnare a questo attributo. Deve essere una istanza di Spotlight!!
   * @return void
   */
   public function setSpotlight($val)
      {
      if($val instanceof Spotlight)
         { $this->oSpotlight=$val; }
      else
         { throw new SpotlightException("Hai passato a oCanale->setSpotlight($val) un parametro non-valido! Solo una istanza della classe Spotlight può essere assegnata alla variabile oSpotlight della classe Canale!"); }         
      }
Avatar utente
Zane
MLI Hero
MLI Hero
 
Messaggi: 7935
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara

Messaggioda Bocca » ven giu 22, 2007 1:19 am

[^] [^] [^] Molto Bene!! [^] [^] [^]
Bocca - Responsabile Grafico MegaLab.it
Mac is for people who like to look at computers. PC is for people who like to use them!
Avatar utente
Bocca
Silver Member
Silver Member
 
Messaggi: 1637
Iscritto il: lun ago 05, 2002 9:36 am
Località: Ferrara


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron
Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising