|
|||
|
Ciao,
ho letto un po su html.it come si usano le classi in php, ma non mi é parso molto chiaro, in primo volevo chiedervi: le funzioni vengono scritte direttamente all'interno della classe? (ho studiato le classi in c++ e le classi venivano scritte prima come metodo per descrivere un oggetto della classe, e poi all'esterno venivano eseguite) per secondo voelvo sapere un po' la differenza tra public e pivate (c'é anche in php nO? in c++ nn l'avevo capita un gran che) grazie...ciao! |
|
||||
|
Non posso farti il confronto con altri linguaggi perchè conosco solo il php.
Posso dirti che le classi contengono metodi che possono essere private, public o protected. Le differenze le puoi leggere nella guida di riferimento, ma penso non ci sia molta differenza col C. Per richiamare un metodo di una classe, puoi istanziare dapprima la classe e poi chiamare il metodo interessato, oppure scrivere nomeclasse::metodo([args]) Per altre domande specifiche, chiedi pure. Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
ma i metodi possono appartenere alla classe ma esserne esterni? vorrei fare due file: class.php e function.php
in class ci saranno le classi e in function le funzioni,... provo a scrivere qualcosa per vedere se é possibile: class.php Codice PHP:
Codice PHP:
Codice PHP:
PS: questo esempio é un po' inutile, l'ho scritto per vedere se é possbili fare cose del genere... grazie dell'aiuto...ciao! |
|
||||
|
Non mi risulta essere possibile.
I metodi di una classe devono stare dentro la stessa classe. Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
sei sicuro? mi puoi dire ancora perfavore come si stampa $nome che fa parte della classe?
grazie...ciaoo |
|
||||
|
Se è privata, non puoi stamparla se non direttamente da un metodo (pubblico) interno alla classe stessa.
Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
si può fare qualcosa tipo un elenco:
public: -- -- -- private: -- -- mi puoi dire anche cos'é protected in due parole? ciao! |
|
||||
|
No, per ogni variabile devi indicarne la visibilità (public di default)
Protected è come private tranne che per le classi figlie (class figlia extends madre) Quindi una variabile dichiarata protected sarà visibile alle classi figlie ma non all'esterno. Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
ma se io dovessi passare un valore ad un'altra funzione di un altra classe, ad esempio un ID, come faccio se ho public $ID?
cosi: myClass2::function(myClass1::ID); non funziona, esiste un modo per farlo? Grazie..ciao! |
|
||||
|
Bè, se quella variabile è il risultato di una funzione, devi prima eseguire quella funzione che restituirà quella variabile valorizzata e potrai usarla come argomento per un'altra funzione.
Se invece è un dato statico, devi poterlo memorizzare da qualche parte in maniera tale da poterla recuperare in qualsiasi classe, ad esempio in un file di configurazione da includere. Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
Codice PHP:
PS: penso di avere capito perché nn va, nella prima funzione come faccio a salvare il valore in private $ID per poi riutilizzarlo nella seconda? grazie...ciao! |
|
||||
|
io vedo grande confusione in questo thread, ma lasso spiegare tutto da zero
![]() Bluster, le classi in php sono simili come concetto a quelle del C++, ma molto semplificate. In più, sia la sintassi che la semantica cambiano da php4 a php5 quindi è importante anche sapere di quale versione si stia parlando. Consiglio, prima di tutto, una lettura seria e completa di due pagine della guida del php: Classi ed oggetti in php4 Classi ed oggetti in php5
__________________
chezDreadnaut — dailyDreadnaut — Qualcosa da leggere: "Un <BR/> è impuro, punto." "I <P> </P> non hanno diritto di esistere."
Ultima modifica di dreadnaut : 24-12-2008 alle ore 13.32.45 |
|
||||
|
Devi usare $this per riferirti a variabili interne alla classe.
Codice PHP:
Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
ho provato con $this, mi da:
Fatal error: Using $this when not in object context in C:\Program Files\xampp\htdocs\mydesk\include\class.php on line 8 grazie dreadnaut per i link... ciao! |
|
||||
|
Azz, già, mi ero dimenticato di chiederti quale versione di php stavi usando!
Per il messaggio di errore, puoi postare lo script intero? Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
bhé nn c'é molto altro, anche se si trovano in file diversi posto attaccato:
Codice PHP:
|
|
||||
|
Ah già:
Codice PHP:
Codice PHP:
Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
|||
|
mi sai spiegare la differenza sostanziale fra le due? perché nella seconda crei un puntatore alla classe?
grazie..ciao! |
|
||||
|
Più che altro istanzio la classe e uso quell'istanza come riferimento alle variabili, ai metodi, etc.
Nel primo esempio non te lo so spiegare tecnicamente, ma in pratica non uso un'istanza per eseguire i metodi della classe, ma uso il cosidetto "Scope Resolution Operator", cioè i doppi due punti :: Come già detto, trovi molti esempi e molte (migliori) spiegazioni sulla guida di riferimento. Ciao!
__________________
[ debug ] ![]() Non rispondo a messaggi privati su argomenti tecnici. Per queste cose esiste il forum! © ® ™ |
|
||||
|
@bluster: perché non hai ancora letto i due link suggeriti sopra?
in php non esistono i puntatori, e l'operatore -> serve ad accedere ai membri (pubblici) di un oggetto.
__________________
chezDreadnaut — dailyDreadnaut — Qualcosa da leggere: "Un <BR/> è impuro, punto." "I <P> </P> non hanno diritto di esistere."
|
![]() |
| Strumenti discussione | |
| Modalità visualizzazione | |
|
|
|
|