Voglio utilizzare Zend_Db senza Zend_Framework. Voglio incorporare Zend_Db per il mio sito Web esistente che non è stato creato utilizzando Zend Framework. È possibile usare Zend_Db in questo modo? Puoi consigliarti un buon tutorial o un esempio su come farlo bene?Zend_Db senza Zend Framework
risposta
In una certa misura, ciò dipende dal framework Web che si sta utilizzando. Ma, in generale, lo Zend_Db documentation è abbastanza chiaro a questo riguardo.
Creare un'istanza di adattatore nel bootstrap. Per fare un esempio:
$db = Zend_Db::factory('Pdo_Mysql', array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test'
));
Se si prevede di utilizzare Zend_Db_Table
, allora si può fare questo l'adattatore di default:
Zend_Db_Table::setDefaultAdapter($db);
In ogni caso, è utile avere questo adattatore da qualche parte salvato dove è possibile accedere esso. Per esempio:
Zend_Registry::set('db', $db);
Poi nel codice a valle, utilizzare questo adattatore per creare query per select()
, insert()
, update()
, delete()
, ecc:
$db = Zend_Registry::get('db');
$select = $db->select()
->from('posts')
->where('cat_id = ?', $catId)
->order('date_posted DESC')
->limit(5);
$rows = $db->fetchAll($select);
Spero che questo aiuti. Saluti!
L'utilizzo di Zend_Db sarebbe addirittura preferibile (IMHO) rispetto all'utilizzo di PDO Raw. Basta creare un oggetto $ db e quindi creare istruzioni SQL usando la classe Zend_Db_Select e passare l'istruzione $ select $ ai metodi fetch * (fetchRow, fetchAll ...).
Per Zend Framework 2. *, creando l'adattatore sarebbe:
$db = new \Zend\Db\Adapter\Adapter([
'driver' => 'Pdo_Mysql',
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxx',
'database' => 'test',
]);
Per creare selezionare:
$sql = new \Zend\Db\Sql\Sql($db);
$select = $sql->select()
->from('posts')
->where(array('cat_id' => $catId))
->order('date_posted DESC')
->limit(5);
$statement = $sql->prepareStatementForSqlObject($select);
$results = $statement->execute();
O, se si vuole ottenere SQL puro dal $ selezionare:
$selectSql = $sql->getSqlStringForSqlObject($select);
Docs potrebbe essere utile. Può essere ancora più semplice se si utilizza TableGateway.
- 1. Zend Framework più database
- 2. Come utilizzare la libreria Zend senza l'installazione di Zend Framework
- 3. Utilizzare i componenti di Zend Framework senza il framework effettivo?
- 4. Vale la pena usare Doctrine 2 con Zend Framework?
- 5. Zend Framework 2 per un framework Zend Newbie
- 6. Zend framework: percorsi plugin
- 7. Perché dovrei usare Doctrine su Zend_Db?
- 8. Zend Framework 2 LDAP
- 9. Zend Framework 2 Reindirizzamento
- 10. Zend Framework Provider Oauth
- 11. zend framework 2 AuthenticationService
- 12. zend framework 2 constants
- 13. Zend Framework: caricamento immagine
- 14. Zend Framework JSON Output
- 15. Gestione cookie Zend Framework
- 16. PHP Zend Framework Generator
- 17. Zend Framework Checkbox Decorators
- 18. Zend_Db subquery
- 19. Zend Framework 1.9: Come utilizzare Autoloading senza MVC
- 20. Utilizzo delle tabelle Db Zend Framework senza MVC
- 21. Come utilizzare InputFilter senza classe form in Zend Framework 2
- 22. come costruire query di inserimento multiple in Zend Framework
- 23. Twitter Bootstrap Framework e Zend Framework
- 24. Come iniziare con zend framework?
- 25. Modulo Zend Framework con jquery
- 26. CMS integrato su Zend Framework
- 27. Zend Framework su hosting condiviso
- 28. Ottieni dati post, Zend Framework
- 29. Caselle nidificate di Zend Framework
- 30. Zend Framework: Ottieni pagina referrer?
Buona risposta completa ... –
Grazie. Ci proverò. – user594791