Sì, una classe può essere istanziata tramite variabili che non conosci a priori (come nel caso di un form).
Pensa, ad esempio, a un portale in cui gli utenti hanno la possibilità di inserire i loro libri preferiti. Il funzionamento interno è piuttosto semplice. Fornisci un form con dei campi da compilare (e.g. Titolo, Autore, Anno prima pubblicazione, genere, ecc) e, quando questo viene inviato, istanzi la classe passando come argomenti le informazioni che ti arrivano. A quel punto salvi il tutto in un db e il gioco è fatto.
Il funzionamento interno è piuttosto semplice. Fornisci un form con dei campi da compilare (e.g. Titolo, Autore, Anno prima pubblicazione, genere, ecc) e, quando questo viene inviato, istanzi la classe passando come argomenti le informazioni che ti arrivano. A quel punto salvi il tutto in un db e il gioco è fatto.
Non salvi l'oggetto nel db, ma delle informazioni. Informazioni che serviranno a questo fantomatico portale per visualizzare i vari libri sottomessi dagli utenti nelle più svariate forme (libri preferiti, libri più letti, meno piaciuti, più comprati e via dicendo).
Gli oggetti servono più che altro a livello strutturale, poi lo scopo finale è (sempre) quello di ottenere delle informazioni.
considerando il dover scrivere i tipi di dati alle proprietà ed ai metodi della classe ho alcune domande:
1)
per le proprietà: come si mette il tipo? così?
PHP:
protected string $titolo;
appena inserisco una cosa del genere, il mio editor mi da errore.
oppure per le proprietà non si utilizza questo, ma si inserisce il tipo soltanto nelle dichiarazioni dei parametri di ingresso delle funzioni che li utilizzano?
2)
per un metodo in cui il parametro di ingresso è un array ($data), che tipo di dato vado a metterci prima di $data
PHP:
public function login($data) {
3)
Quando un metodo, setta qualcosa, o cancella qualcosa, ma non c'è il return di nulla, allora significa che il metodo non ha parametri di uscita giusto?, per cui non si specifica la tipologia di info che deve restituire il metodo, giusto?