Existe-t-il un moyen de filtrer les requêtes par nom de table dans le zend db profiler? La documentation n'a rien mais je ne sais pas si je peux compter sur ce document complètement .. si vous connaissez un moyen, s'il vous plaît aviser ..Filtre profileur php zend db par nom de table
1
A
Répondre
1
Il n'y a actuellement pas un moyen de filtrer le profileur basé sur nom de la table, uniquement par type de requête (INSERT, UPDATE, etc.) ou temps écoulé de la requête.
Voici un code que vous pourriez essayer et qui pourrait vous aider à faire ce que vous voulez cependant, notez, je ne l'ai pas testé, mais j'espère qu'il peut vous aider à démarrer. Fondamentalement, il boucle sur chaque requête qui a été profilée et utilise preg_match pour voir si la requête était à votre table, et sinon elle désactive l'information de requête et continue, si elle était alors elle met à jour certaines statistiques. À la fin de la foreach, les requêtes $, devraient être seulement les requêtes à la table que vous voulez profiler.
<?php
$tableName = 'my_table';
/** var $profiler Zend_Db_Profiler */
$profiler = $db->getProfiler();
$queries = $profiler->getQueryProfiles();
$totalQueries = 0;
$totalTime = 0;
if ($queries !== false) {
foreach ($queries as $index => $query) {
$queryString = $query->getQuery();
$t = preg_quote($tableName);
if (!preg_match("/UPDATE .?$t.? /i", $queryString) ||
!preg_match("/INSERT INTO .?$t.?/i", $queryString) ||
!preg_match("/DELETE FROM .?$t.?/i", $queryString) ||
!preg_match("/REPLACE .*?INTO .?$t.?/i", $queryString) ||
) {
unset($queries[$index]);
continue;
}
$totalQueries++;
$totalTime += $query->getElapsedSecs();
}
}
Questions connexes
- 1. PHP: profileur de code Zend
- 2. Zend DB Table Résumé
- 3. Zend DB Table Where Clause
- 4. Table Zend DB? Ou SQL par vos propres moyens?
- 5. filtre php par utilisateur
- 6. Zend db table - save() pas d'enregistrement
- 7. Filtre Réplication par nom d'utilisateur
- 8. Zend db Mysql tri par nombre
- 9. db: trouver le nom de la table par l'ID
- 10. Zend table db trouver comme fetchRow
- 11. SELECT DATE_FORMAT avec Zend DB-Table
- 12. Modifier le nom de la base de données dans Model Zend Db Table
- 13. php zend db profiler requêtes INSERT et UPDATE
- 14. Forme Zend et filtre Zend HtmlEntities
- 15. embarqué profileur pour PHP
- 16. Zend Db SQLITE Setup
- 17. Zend Framework - Créer db table de base de données - Erreur
- 18. Zend DB et l'encodage
- 19. Zend DB: valeurs nulles
- 20. Comment obtenir Nom de la colonne avec Zend DB
- 21. Filtre grande table (HTML JS PHP MYSQL)
- 22. Zend DB Joindre 2 rangées de la même table
- 23. obtenir des lignes de la table avec zend db
- 24. Zend DB MYSQL Wrapper
- 25. Relations Zend DB
- 26. Zend DB: Proxy entre les classes Table et Row?
- 27. Zend Framework Logger: Zend DB Logger
- 28. Transactions atomiques Zend DB
- 29. Obtenir l'adaptateur db zend par défaut dans le modèle de table
- 30. Table Zend DB: Toutes les valeurs sont des chaînes
merci, je vais essayer ceci et co-commander. – geej
S'il vous plaît vérifier ici: http://stackoverflow.com/questions/7502515/php-and-zend-db-profiler – geej