OOP e autenticazione

  • Creatore Discussione Creatore Discussione marco_rx
  • Data di inizio Data di inizio

marco_rx

Utente Attivo
19 Dic 2010
129
0
0
Avrei 2 domande da porvi:

1) In quest'ultimo periodo mi sto avvicinando alla programmazione ad oggetti e volevo iniziare a scrivere qualcosa usando questo metodo. Solo che non mi è chiaro se le funzioni "classiche" (non i metodi) si utilizzano ancora o se si usano solo le classi e i relativi metodi. Perchè ho visto che in alcuni cms ci sono sia i files per le classi che quelli per le funzioni, quindi volevo sapere quando si utilizza uno e quando l'altro.

2) Ho letto che le sessioni è preferibile memorizzarle su un database, ma quali campi deve avere la tabella che le contiene? C'è una qualche guida o articolo che spieghi questa cosa e magari anche come realizzare un sistema di autenticazione?
 
Purtroppo la programmazione OOP in PHP è ancora piuttosto precaria. Il fatto è che gli stessi sviluppatori hanno introdotto un modello OOP piuttosto debole e che lascia troppa scelta ai programmatori. La stessa libreria di PHP quasi non utilizza l'OOP e non sembra neanche che gli sviluppatori vogliano iniziare a "convertire" le vecchie funzioni (explode(), per esempio) in oggetti (una classe String contenente una funzione explode() che accetta come solo parametro un'altra classe String).

Diciamo che sarebbe meglio non avere nessuna funzione in un progetto che fa uso del paradigma ad oggetti. Cerca sempre di trovare un approccio migliore. Ad esempio, invece di una funzione redirect() potresti creare un oggetto HttpResponse con i seguenti metodi:
  • addHeader
  • send
E quindi gestire tutto da lì. È piuttosto lunga come cosa, ma i risultati a lungo termine si vedono.
 
Diciamo che sarebbe meglio non avere nessuna funzione in un progetto che fa uso del paradigma ad oggetti.
Con nessuna intendi nè quelle che definisco io nè quelle proprie di php, oppure quest'ultime posso utilizzarle?
 
Ok grazie mille per il chiarimento :D
Invece per le sessioni su db e l'autenticazione conosci qualche guida abbastanza dettagliata?
 

Discussioni simili