Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-10-2008, 15:35   #1
brianss
Member
 
Iscritto dal: Mar 2006
Messaggi: 89
[PHP 5] passaggio a oggetti

ciao ragazzi, ho una domanda da porre ai guru del php. come sapete php 5 introduce la programmazione orientata agli oggetti
ma ci sta una cosa che mi fa storcere il naso:

esempio:
la classe cane.php
Codice:
<?php
    /*
     * modella un cane
     */

class Cane {
    var $nome;
    var $peso;

function Cane($nome, $peso){
    $this->nome = $nome;
    $this->peso = $peso;
}

public function Abbaia(){
    print "bau bau";
}
}
?>
poi istanzio l'oggetto in index.php (stessa cartella)

Codice:
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <?php
            // include("cane.php");
            print "benvenuto ora creo un cane";
            print "<br />";
            $bestia = new Cane("bobby", 10);
            $bestia->Abbaia();

        ?>
    </body>
</html>
notate che include è commentanto!
infatti se non lo metto mi da errore!
ma è possibile che devo includere un file per istanziare un'oggetto?
e se questo oggetto lo devo richiamare in qualche altro file? un'altro include?

aiutatemi a trovare una risposta perche essendo abituato con java non mi torna proprio questa cosa

grazie
brianss è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 19:20   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
si lo devi includere in ogni script che vuole far uso della classe
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 19:50   #3
brianss
Member
 
Iscritto dal: Mar 2006
Messaggi: 89
ma così non si appesantisce il server?
brianss è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 20:08   #4
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da brianss Guarda i messaggi
ma così non si appesantisce il server?
no, php ha una gestione intelligente degli include...volendo potresti usare require_once che forse è ancora meglio:
http://it.php.net/require_once
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 20:42   #5
brianss
Member
 
Iscritto dal: Mar 2006
Messaggi: 89
ok ti ringrazio...
però questa cosa ancora non mi convince.
voglio dire se io istanzio un'oggetto nella pagina x e poi mi server lo stesso oggetto nella pagina y devo rifare l'include nella pagina y? poi però ho lo stesso oggetto creato in x?
brianss è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 20:53   #6
Pappe
Senior Member
 
L'Avatar di Pappe
 
Iscritto dal: Nov 2005
Città: Parma GialloBlu
Messaggi: 450
contando che ogni pagina è un "discorso" a sè rispetto alle altre direi che la cosa ha senso...
__________________


Dell Latitude E6420 @ Windows 7 Pro
ASUS A6Ja-Q039H @ Windows 7 Pro
Pappe è offline   Rispondi citando il messaggio o parte di esso
Old 27-10-2008, 20:58   #7
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
quando termina l'esecuzione di uno script php (cioè di una pagina) tutti gli oggetti sono distrutti, questa è la natura della programmazione web, essendo il protocollo http stateless.
in aiuto ti possono venire le sessioni e i cookie, che ti permettono di avere dei dati lato client a cui avere accesso.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2008, 09:15   #8
dany84
Member
 
L'Avatar di dany84
 
Iscritto dal: Aug 2005
Messaggi: 306
forse dirò una cavolata, ma avevo una curiosità:
è possibile in php memorizzare l'oggetto istanziato in una variabile di sessione, in modo da non dover includere la pagina in ogni altra pagina mi serva la classe?
__________________
... I believe in miracles / I believe in a better world / for me and you ...
...Music is like sunrise for me / it's joyful like a trip in a time machine...
...Sei solo corri, corri, corri, corri / Non ti voltare mai...
dany84 è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2008, 10:51   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Metti in una pagina .php solo l'implementazione della classe non le istanze.
Dopo includi la pagina .php all'interno di tutte le pagine in cui vuoi usare l'oggetto.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2008, 16:50   #10
brianss
Member
 
Iscritto dal: Mar 2006
Messaggi: 89
infatti io faccio così..includo la classe dove mi serve istanziare l'oggetto..

ma poi se devo chiamare quel particolare oggetto da un'altra pagina?
brianss è offline   Rispondi citando il messaggio o parte di esso
Old 28-10-2008, 19:41   #11
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da brianss Guarda i messaggi
ok ti ringrazio...
però questa cosa ancora non mi convince.
voglio dire se io istanzio un'oggetto nella pagina x e poi mi server lo stesso oggetto nella pagina y devo rifare l'include nella pagina y? poi però ho lo stesso oggetto creato in x?
Un'applicativo web è spesso molto differente da un software stand-alone tradizionale proprio per via dell'ipertesto.

Per mantenere "in vita" gli oggetti puoi serializzarli e passarteli in sessione.
  Rispondi citando il messaggio o parte di esso
Old 28-10-2008, 22:30   #12
Necromachine
Senior Member
 
L'Avatar di Necromachine
 
Iscritto dal: Jan 2004
Città: Gallarate (VA)
Messaggi: 3903
Se nel tuo script dovessi richiamare più moduli che richiedono la stessa classe, ti basta mettere un require_once() invece dell'include.
__________________
Santech M58: CPU: i7 3840QM, RAM: 16GB (2x8GB CL10), HARD DISK: SSD crucial M4 128GB + HD Sata 3 1TB 7200rpm, SCHEDA VIDEO: GeForce GTX 680M
Necromachine è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Halo Infinite: in arrivo l'ultimo grande...
TV LG OLED 2025: Amazon fa sconti al che...
Forse, finalmente, ci siamo? Alcuni rumo...
Smart home più facile ed economic...
Motorola edge 50 neo in svendita, 202€: ...
Cina e Paesi Bassi verso la distensione ...
'Senza TSMC non ci sarebbe NVIDIA': Jens...
Fumo di sigaretta e sporco per 17 anni: ...
Resi Amazon Natale 2025: cambiano i temp...
L'SSD modulare aggiornabile come un PC: ...
Intel ha denunciato un ex dipendente per...
Blue Origin rinvia il secondo lancio del...
Nasce l'albo degli influencer 'rilevanti...
Il Digital Networks Act è stato r...
ASUS ROG ha lanciato due nuovi monitor d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v