- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema con la programmazione ad oggetti
- 
							
							
							
							
							
Problema con la programmazione ad oggettiSto facendo un applicativo in PHP usando la programmazione ad oggetti. Per spiegare il mio problema vi faccio un esempio: - Pensate di dovere modellare questa realtà: una fattoria con animali di diverse razze.
- Pensate ora di creare una classe "animale" e due sottoclassi "mucca" e "anatra"... Sul database c'è una tabella "animali" con il codice animale e la tipologia (mucca o anatra) ed i dati comuni alle due tipologie + una tabella "mucche" con i relativi dati + una tabella "anatre" con altri dati ancora. Queste ultime due tabelle dipendono, mediante una foreign key, dalla tabella "animali".
- Adesso pensate di dover fare una pagina con un elenco degli animali presenti nella fattoria dove, su ogni rigo c'è il tasto di cancellazione...
 Domanda: essendo la tabella composta da istanze della classe "animale", come posso fare per fare in modo che la cancellazione elimini il relativo record sulla tabella "animali" + quello sulla tabella figlio "mucche"/"anatra" ? 
 Posso farcela senza dover interrogare la tipologia sull'oggetto "animale" per poi istanziare la sottoclasse "mucca" o "anatra" ?
 
- 
							
							
							
							
							
Ciao 
 da quanto ho capito dovresti realizzare una query delete mettendo in relazione le diverse tabelle con l'id univoco che le collega
 ciao da Danny1975
 
- 
							
							
							
							
							
Forse non ho capito bene cosa ti serve, ma da come hai scritto sembra che tutto si possa risolvere con un paio di semplici query-delete. O forse ti serve sapere altro? 
 
- 
							
							
							
							
							Ciao dacdam, 
 forse puoi abbattare tutti i passaggi per cancellare i dati in comune e poi quelli particolari di una determinata classe, semplicemente salvando in tabella
 l'id univoco per riconoscere l'animale salvato e la stringa con cui è serializzato l'oggetto.La serializzazione di una istanza di classe permette di salvare lo stato dell'oggetto (quindi tutte le sue proprietà con i relativi valori) su filesystem o DB. Il risultato della serializzazione è una stringa. La serializzazione in PHP avviene tramite le funzioni - serialize(una_istanza);
- unserialize(stringa in cui è stato serializzato un oggetto);
 Se vuoi un esempio, io la ho usata per creare una cache in PHP. 
 l'articolo lo puoi leggere qui:
 mirkoagrati.110mb.com/articoli.php?page=Articoli&cat=PHP&art=Cache_Singleton&ext=xml&part=8Tieni presente che il link ti porta alla pagina dove puoi vedere in funzione le due funzioni di cui sopra. Ciao