Comment puis-je facilement implémenter des requêtes dans le framework Zend?Cadre PHP et Zend
Répondre
Vous pouvez utiliser l'objet adaptateur Zend Db comme ceci:
$sql = 'SELECT * FROM bugs WHERE bug_id = ?';
$result = $db->fetchAll($sql, 2);
Vérifiez ce document:
Utilisez Zend_Db et il suffit de créer un objet $ db en utilisant Zend_Db Factory Method, puis créez des instructions SQL à l'aide de la classe Zend_Db_Select et transmettez l'instruction SQL $ select aux méthodes fetch * (fetchRow, fetchAll ...).
1.Config:
config/autoload/dbAdapter.local.php
<?php
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=name;host=localhost',
'username' => 'root',
'password' => 'root',
),
'service_manager' => array(
'abstract_factories' => array(
'Zend\Db\Adapter\AdapterAbstractServiceFactory',
),
),
);
- Mise en œuvre:
public function testAction() { $username = 'user'; $sql = "SELECT email FROM users WHERE username = ?"; $statement = $this->getDbAdapter()->createStatement($sql, array($username)); $result = $statement->execute()->current(); } protected function getDbAdapter() { if($this->dbAdapter == null) { $this->dbAdapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter'); } return $this->dbAdapter; }
Vous pouvez utiliser doctrine2 Doctrine project. Il existe un module compatible avec ZF3 DoctrineModule. Vous pouvez utiliser QueryBuilder pour créer des requêtes sur la manipulation d'objets.
Je recommande fortement Doctrine. Il a une courbe d'apprentissage élevée, mais une fois que vous maîtrisez, vous réduisez votre travail de DB de 75%. Il s'intègre également avec les frameworks les plus populaires et PHP standard, vous n'aurez donc pas à le réapprendre. – Bluebaron
framework Zend a abstract_factories, il nous permet de gérer plusieurs requêtes DB:
Zend \ Db \ Adapter \ AdapterAbstractServiceFactory
Nécessité de définir Service Manager:
'service_manager' = > array ( 'abstract_factories' => array ( 'Zend \ Db \ Adapter \ AdapterAbstractServiceFactory', ), ),
adaptateurs de configurer dans config/autoload/local.php
db »=> array ( 'adaptateurs' => array (
'database1' => array( 'driver' => 'Pdo', 'dsn' => 'mysql:dbname=userDB;host=localhost', 'driver_options' => array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'' ), ), etc... ),
),
adaptateurs configurer dans config/autoload/global.php
return array( 'db' => array( 'adapters' => array( 'database1' => array( 'username' => 'root', 'password' => '', ), ), ),
);
adaptateurs d'appel
$ dbmanager-> get ('database1');
Utilisation dans le modèle
use Zend\Db\TableGateway\AbstractTableGateway; use Zend\Db\Adapter\Adapter; class UserTable extends AbstractTableGateway { protected $table ='user'; public function __invoke(Adapter $adapter) { $this->adapter = $adapter; $this->initialize(); } public function fetchAll() { $resultSet = $this->select(); return $resultSet->toArray(); }
}
- 1. Cadre Zend: Suppression des routes par défaut
- 2. ffmpeg + PHP + Zend Framework
- 3. PHP - Sortir d'un cadre
- 4. Joindre des tables avec Zend Framework PHP
- 5. exception SoapFault: [VersionMismatch] PHP Zend
- 6. Zend Framework et SQL Server
- 7. Zend Framework: Zend_Oauth et Zend_Service_Twitter
- 8. Zend Studio + Zend Framework
- 9. travail Zend farme Doubt2
- 10. Cadre d'application PHP libre/Open Source
- 11. Recaptcha Styling Utilisation de Zend PHP
- 12. Exécution du test PHP Zend dans Eclipse
- 13. Mécanismes PHP/Zend pour la réécriture
- 14. Cadre - Qu'est-ce qu'un framework PHP?
- 15. Opcode (APC/XCache), Zend, Doctrine et Autoloaders
- 16. .htaccess pour Zend Debugger, Eclipse et Zend Framework
- 17. Cadre d'entité et clés étrangères
- 18. Zend Framework et Mysql - très lent
- 19. Zend Studio 7.0 + Zend Framework
- 20. intégration Smarty dans le cadre CodeIgniter
- 21. Dans le cadre Zend, où dois-je mettre le validateur personnalisé?
- 22. configuration Zend Framework
- 23. Enregistrement de l'ordre d'une liste (php/zend/jquery)
- 24. Zend Studio PHP Explorer ne montre pas mon nouveau projet
- 25. Étape Débogueur pour PHP autre que Zend Débogueur
- 26. IIS7 + PHP + Zend - Ne pas exécuter <= * pic *
- 27. Afficher les erreurs PHP lors de l'utilisation de Zend Framework
- 28. Problème avec le cadre de prototype dans le gâteau php
- 29. Routeurs Regex dans le cadre zend, comment faire fusionner ces routeurs?
- 30. zend relations avec select
Interrogation quoi? Service Web, base de données (mssql, mysql, sqlite, ...)? – UnkwnTech
en utilisant un cadre MVC pour interroger une base de données est comme utiliser un lance-roquettes pour tuer un cafard. trop. à moins que votre requête de base de données fasse partie d'un projet BEAUCOUP plus important. mais cela ne semble pas être le cas. php droite serait beaucoup plus facile à mettre en œuvre IMHO –
Après la mise en place de l'élément squelette, suivez les étapes. http://framework.zend.com/manual/current/en/in-depth-guide/first-module.html – Gary