Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Zend Framework e database :: Indice Php

Zend Framework e database

Categoria: Php Inserito il: 25-11-2006 Stampa (6459 click)

Zend_Db_Adapter un'API disponibile per lo Zend Framework che consente grazie a PDO di interfacciarsi a svariati tipi di database tra cui Microsoft SQL Server, MySQL, PostgreSQL ed SQLite.

Per creare un'istanza a Zend_Db_Adapter potremo utilizzare il metodo Zend_Db::factory() a cui passare come parametri i dati necessari alla connessione.

A titolo esemplificativo, presentiamo di seguito un possibile listato per la connessione al DBMS MySQL:

<?php 
require_once 'percorso/Db.php'; 
$connx =array(
'host'=> 'localhost', 
'username' => 'eliox', 
'password' => 'secret', 
'dbname'=> 'datadb'
); 
$db = Zend_Db :: factory('PDO_MYSQL', $connx); 
?>
E' facile notare come la logica dello script proposto non si discosta da quella generalmente utilizzata per le normali connessioni operate tramite OOP; una volta incluso il file relativo all'API indicando il percorso ad esso, sar sufficiente disporre i parametri per la connessione all'interno di un'array; infine, sar poi possibile passare l'array come argomento al metodo e stabilire la connessione.

E' interessante notare come Zend_Db_Adapter preveda due metodi per il quoting dei parametri passati in query, questo per mettere a disposizione dello sviluppatore alcuni strumenti addizionali nella prevenzione delle SQL Injection.

Il primo metodo quote(), con il quale possibile restituire i valori di un array sotto forma di una stringa le cui componenti vengono separate da una virgola:
<?php
$var = $db -> quote ('aaa bb"b ccc');  
//converte $var in '"aaa bb\"b ccc"' 
$var = $db -> quote (array('1','2','3');  
//converte $var in '"1","2","3"'
?>
Il secondo metodo quoteInto() che determina il quoting dei parametri sulla base di un punto di domanda indicato dall'utente:
<?php  
$var = $db -> quoteInto ('var = ?', a);
//converte $var in 'var = "a"'
$var = $db->quoteInto('var IN(?)', array(a, b, c));
//converte $var in 'var IN("a", "b", "c")'
?>
Attenzione: questo articolo stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pi importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Errori nell'esecuzione degli script CGI e possibili soluzioni
In questo capitolo elencheremo i possibili errori che possono derivare da un malfunzionamento delle nostre applicazioni CGI; di seguito proporremo... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti