[PHP] HOWTO: cFormsDb_Sql
Moderatore: Staff
Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- nuitari
- Linux 3.x
- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
[PHP] HOWTO: cFormsDb_Sql
Ho pubblicato un altro articolo su un pezzo del mio framework, comunque usabile a parte come ho specificato nell'articolo
http://www.slacky.eu/wikislack/index.ph ... ormsDb_Sql
ditemi che ve ne pare =)
http://www.slacky.eu/wikislack/index.ph ... ormsDb_Sql
ditemi che ve ne pare =)
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: [PHP] HOWTO: cFormsDb_Sql
Cosa ha in più della classe mysqli facente parte direttamente di PHP?nuitari ha scritto:Ho pubblicato un altro articolo su un pezzo del mio framework, comunque usabile a parte come ho specificato nell'articolo
http://www.slacky.eu/wikislack/index.ph ... ormsDb_Sql
ditemi che ve ne pare =)
- nuitari
- Linux 3.x
- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: [PHP] HOWTO: cFormsDb_Sql
1) quando ho fatto questa classe non esisteva mysqli e comunque questa funziona anche dove mysqli non è presente
2) mi auto-quoto le parti rilevanti ai fini di risponderti dalla sinossi
2) mi auto-quoto le parti rilevanti ai fini di risponderti dalla sinossi
* include funzioni trasparenti di bufferizzazione dei risultati per permettere la riduzione dell'overhead sul server
* permette di gestire la connessione al Database on-demand, in modo da ridurre il carico sul server
* permette di lavorare su più connessioni / database contemporaneamente in modo del tutto trasparente
* include una gestione degli errori centralizzata e parametrizzabile
* include un meccanismo di logging degli eventi utile ai fini del debug
* include una funzione di escaping per evitare l'SQL injection
* è perfettamente integrata con l'oggetto cFormsData, parte del framework Forms, il quale permette di gestire in modo del tutto trasparente l'internazionalizzazione e la conversione dei dati
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: [PHP] HOWTO: cFormsDb_Sql
Premetto che la mia era una domanda puramente di curiosità visto che non ho mai approfondito l'estensione mysqli come si deve, visto che è un paio di anni che non ci metto mano ed ho iniziato a guardarla proprio in questo periodo.
E siccome se te lo chiedevo in privato, magari altri utenti potevano avere lo stesso dubbio... l'ho posta qui
On-demand mi sfugge il meccanismo
Il logging di eventi non lo so
L'ultima cosa... va beh, quello è un altro discorso.
Poi me la studio con calma
E siccome se te lo chiedevo in privato, magari altri utenti potevano avere lo stesso dubbio... l'ho posta qui
Fin qui oknuitari ha scritto:1) quando ho fatto questa classe non esisteva mysqli e comunque questa funziona anche dove mysqli non è presente
Come sei difficilenuitari ha scritto: 2) mi auto-quoto le parti rilevanti ai fini di risponderti dalla sinossi
L'escaping mi sembra che ce l'ha anche mysqli, la bufferizzazione non è trasparente ma va indicata... oh correggimi se sbaglio.nuitari ha scritto:
* include funzioni trasparenti di bufferizzazione dei risultati per permettere la riduzione dell'overhead sul server
* permette di gestire la connessione al Database on-demand, in modo da ridurre il carico sul server
* permette di lavorare su più connessioni / database contemporaneamente in modo del tutto trasparente
* include una gestione degli errori centralizzata e parametrizzabile
* include un meccanismo di logging degli eventi utile ai fini del debug
* include una funzione di escaping per evitare l'SQL injection
* è perfettamente integrata con l'oggetto cFormsData, parte del framework Forms, il quale permette di gestire in modo del tutto trasparente l'internazionalizzazione e la conversione dei dati
On-demand mi sfugge il meccanismo
Il logging di eventi non lo so
L'ultima cosa... va beh, quello è un altro discorso.
Poi me la studio con calma
- conraid
- Staff
- Messaggi: 13630
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: [PHP] HOWTO: cFormsDb_Sql
nuitari ha scritto:Ho pubblicato un altro articolo su un pezzo del mio framework, comunque usabile a parte come ho specificato nell'articolo
http://www.slacky.eu/wikislack/index.ph ... ormsDb_Sql
ditemi che ve ne pare =)
Non ho capito una cosa.
Hai fatto l'esempio con MySQL ma tratta anche altri DB?
UPDATE:
$db->jumpToPage();
Lo uso dopo un LIMIT? o serve quando prendo tutti i dati e _dopo_ voglio prenderli tipo LIMIT
Spero di essermi spiegato, scusa per la domanda scema
P.S.
Ho visto che sono ancora nei credits... thanks, anche se sinceramente questa volta niente debugging... ancora
- nuitari
- Linux 3.x
- Messaggi: 777
- Iscritto il: dom 14 ott 2007, 12:51
- Slackware: 12.0
- Località: San Colombano al Lambro
- Contatta:
Re: [PHP] HOWTO: cFormsDb_Sql
Eheh tranqui ^^ la mia risposta era solo frettolosa =)
Dunque, il concetto è: perchè chiamare una funzione "connetti" quando puoi chiamare "mysql_connect"?
Perchè 1) mysql_connect è relativa a mysql e basta, se cambi dbms devi cambiare tutto il codice non solo un include, on opzione od un interfaccia 2) perchè fare interfacce per l'api è comodo, poichè attorno ci metti il tuo codice, personalizzato. Metti anche solo per la gestione degli errori.
L'escaping lo fa anche un api mysql se per questo, non solo mysqli. Il fatto è che anche in questo caso si tratta di incapsulare il codice. Ad esempio se leggi l'howto la mia funzione gestisce anche i null e la conversione dei dati, tutto in un colpo solo.
On demand significa che la classe chiude ed apre la connessione (quando non è persistente ofc) a seconda delle operazioni, su richiesta, in modo automatico. Chiami ->query e query in un unico colpo crea la connex, seleziona il db ed esegue la query, etc etc
Lo stesso dicasi per la gestione degli errori e via dicendo.
Per quanto riguarda jumpToPage, è successiva al limit. Il limit permette di restringere i risultato di una query (ed ha dei limiti intrisechi sul numero di record gestibili se non erro), jumpToPage permette di *saltare* ad un punto preciso di un recordset usando una logica a pagine invece che a record.
Dunque, il concetto è: perchè chiamare una funzione "connetti" quando puoi chiamare "mysql_connect"?
Perchè 1) mysql_connect è relativa a mysql e basta, se cambi dbms devi cambiare tutto il codice non solo un include, on opzione od un interfaccia 2) perchè fare interfacce per l'api è comodo, poichè attorno ci metti il tuo codice, personalizzato. Metti anche solo per la gestione degli errori.
L'escaping lo fa anche un api mysql se per questo, non solo mysqli. Il fatto è che anche in questo caso si tratta di incapsulare il codice. Ad esempio se leggi l'howto la mia funzione gestisce anche i null e la conversione dei dati, tutto in un colpo solo.
On demand significa che la classe chiude ed apre la connessione (quando non è persistente ofc) a seconda delle operazioni, su richiesta, in modo automatico. Chiami ->query e query in un unico colpo crea la connex, seleziona il db ed esegue la query, etc etc
Lo stesso dicasi per la gestione degli errori e via dicendo.
Per quanto riguarda jumpToPage, è successiva al limit. Il limit permette di restringere i risultato di una query (ed ha dei limiti intrisechi sul numero di record gestibili se non erro), jumpToPage permette di *saltare* ad un punto preciso di un recordset usando una logica a pagine invece che a record.