|
@@ -1,5 +1,5 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 17178 -->
|
|
|
|
|
|
|
+<!-- EN-Revision: 19484 -->
|
|
|
<!-- Reviewed: no -->
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.db.profiler" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<sect1 id="zend.db.profiler" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
<title>Zend_Db_Profiler</title>
|
|
<title>Zend_Db_Profiler</title>
|
|
@@ -42,68 +42,86 @@ $db->getProfiler()->setEnabled(true);
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- La valeur de l'option <code>profiler</code> est souple. Elle est interprétée
|
|
|
|
|
|
|
+ La valeur de l'option <property>profiler</property> est souple. Elle est interprétée
|
|
|
différemment suivant son type. La plupart du temps, vous devriez simplement utiliser une
|
|
différemment suivant son type. La plupart du temps, vous devriez simplement utiliser une
|
|
|
variable booléenne, mais d'autres valeurs vous permettent de personnaliser le
|
|
variable booléenne, mais d'autres valeurs vous permettent de personnaliser le
|
|
|
comportement du profileur.
|
|
comportement du profileur.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Un argument booléen active le profileur si c'est une valeur <constant>TRUE</constant>, ou
|
|
|
|
|
- le désactive si <constant>FALSE</constant>. La classe de profileur est celle par défaut, par
|
|
|
|
|
- exemple <classname>Zend_Db_Profiler</classname>. <programlisting language="php"><![CDATA[
|
|
|
|
|
|
|
+ Un argument booléen active le profileur si c'est une valeur <constant>TRUE</constant>,
|
|
|
|
|
+ ou le désactive si <constant>FALSE</constant>. La classe de profileur est celle par
|
|
|
|
|
+ défaut, par exemple <classname>Zend_Db_Profiler</classname>.
|
|
|
|
|
+ </para>
|
|
|
|
|
+
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$params['profiler'] = true;
|
|
$params['profiler'] = true;
|
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
- </para>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Une instance d'un objet profileur fait que l'adaptateur utilise cet objet. L'objet
|
|
Une instance d'un objet profileur fait que l'adaptateur utilise cet objet. L'objet
|
|
|
doit être de type <classname>Zend_Db_Profiler</classname> ou une sous-classe.
|
|
doit être de type <classname>Zend_Db_Profiler</classname> ou une sous-classe.
|
|
|
- L'activation du profileur est faite séparément. <programlisting language="php"><![CDATA[
|
|
|
|
|
|
|
+ L'activation du profileur est faite séparément.
|
|
|
|
|
+ </para>
|
|
|
|
|
+
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$profiler = Mon_Db_Profiler();
|
|
$profiler = Mon_Db_Profiler();
|
|
|
$profiler->setEnabled(true);
|
|
$profiler->setEnabled(true);
|
|
|
$params['profiler'] = $profiler;
|
|
$params['profiler'] = $profiler;
|
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
- </para>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
L'argument peut être un tableau associatif contenant une ou toutes les clés
|
|
L'argument peut être un tableau associatif contenant une ou toutes les clés
|
|
|
- suivantes : "<code>enabled</code>", "<code>instance</code>", et "<code>class</code>".
|
|
|
|
|
- Les clés "<code>enabled</code>" et "<code>instance</code>" correspondent aux types
|
|
|
|
|
- booléen et instance décrites ci-dessus. La clé "<code>class</code>" est utilisée pour
|
|
|
|
|
|
|
+ suivantes : "<property>enabled</property>", "<property>instance</property>", et
|
|
|
|
|
+ "<property>class</property>". Les clés "<property>enabled</property>" et
|
|
|
|
|
+ "<property>instance</property>" correspondent aux types booléen et instance décrites
|
|
|
|
|
+ ci-dessus. La clé "<property>class</property>" est utilisée pour
|
|
|
nommer une classe à prendre en tant que profileur personnalisé. La classe doit être de
|
|
nommer une classe à prendre en tant que profileur personnalisé. La classe doit être de
|
|
|
type <classname>Zend_Db_Profiler</classname> ou une sous-classe. La classe est
|
|
type <classname>Zend_Db_Profiler</classname> ou une sous-classe. La classe est
|
|
|
- instanciée sans aucun argument de constructeur. L'option "<code>class</code>" est
|
|
|
|
|
- ignorée quand l'option "<code>instance</code>" est fournie. <programlisting
|
|
|
|
|
- role="php"><![CDATA[
|
|
|
|
|
|
|
+ instanciée sans aucun argument de constructeur. L'option "<property>class</property>"
|
|
|
|
|
+ est ignorée quand l'option "<property>instance</property>" est fournie.
|
|
|
|
|
+ </para>
|
|
|
|
|
+
|
|
|
|
|
+ <programlisting
|
|
|
|
|
+ language="php"><![CDATA[
|
|
|
$params['profiler'] = array(
|
|
$params['profiler'] = array(
|
|
|
'enabled' => true,
|
|
'enabled' => true,
|
|
|
'class' => 'Mon_Db_Profiler'
|
|
'class' => 'Mon_Db_Profiler'
|
|
|
);
|
|
);
|
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
- </para>
|
|
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Enfin, l'argument peut être un objet de type <classname>Zend_Config</classname>
|
|
Enfin, l'argument peut être un objet de type <classname>Zend_Config</classname>
|
|
|
contenant des propriétés, qui sont traitées comme les clés de tableaux décrites
|
|
contenant des propriétés, qui sont traitées comme les clés de tableaux décrites
|
|
|
- ci-dessus. Par exemple, une fichier "config.ini" peut contenir les données
|
|
|
|
|
- suivantes :
|
|
|
|
|
- <programlisting language="ini"><![CDATA[
|
|
|
|
|
|
|
+ ci-dessus. Par exemple, un fichier "<filename>config.ini</filename>" peut
|
|
|
|
|
+ contenir les données suivantes :
|
|
|
|
|
+ </para>
|
|
|
|
|
+
|
|
|
|
|
+ <programlisting language="ini"><![CDATA[
|
|
|
[main]
|
|
[main]
|
|
|
db.profiler.class = "Mon_Db_Profiler"
|
|
db.profiler.class = "Mon_Db_Profiler"
|
|
|
db.profiler.enabled = true
|
|
db.profiler.enabled = true
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
- Cette configuration peut être appliquée par le code PHP suivant :
|
|
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <para>
|
|
|
|
|
+ Cette configuration peut être appliquée par le code <acronym>PHP</acronym>
|
|
|
|
|
+ suivant :
|
|
|
|
|
+ </para>
|
|
|
|
|
+
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$config = new Zend_Config_Ini('config.ini', 'main');
|
|
$config = new Zend_Config_Ini('config.ini', 'main');
|
|
|
$params['profiler'] = $config->db->profiler;
|
|
$params['profiler'] = $config->db->profiler;
|
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
- La propriété "<code>instance</code>" peut être utilisée comme ceci :
|
|
|
|
|
- <programlisting language="php"><![CDATA[
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <para>
|
|
|
|
|
+ La propriété "<property>instance</property>" peut être utilisée comme ceci :
|
|
|
|
|
+ </para>
|
|
|
|
|
+
|
|
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
$profiler = new Mon_Db_Profiler();
|
|
$profiler = new Mon_Db_Profiler();
|
|
|
$profiler->setEnabled(true);
|
|
$profiler->setEnabled(true);
|
|
|
$configData = array(
|
|
$configData = array(
|
|
@@ -113,7 +131,6 @@ $config = new Zend_Config($configData);
|
|
|
$params['profiler'] = $config;
|
|
$params['profiler'] = $config;
|
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
$db = Zend_Db::factory('PDO_MYSQL', $params);
|
|
|
]]></programlisting>
|
|
]]></programlisting>
|
|
|
- </para>
|
|
|
|
|
</sect2>
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="zend.db.profiler.using">
|
|
<sect2 id="zend.db.profiler.using">
|
|
@@ -137,35 +154,37 @@ $profileur = $db->getProfiler();
|
|
|
<itemizedlist>
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>getTotalNumQueries()</methodname> retourne le nombre total de requêtes
|
|
|
|
|
- profilées.
|
|
|
|
|
|
|
+ <methodname>getTotalNumQueries()</methodname> retourne le nombre total de
|
|
|
|
|
+ requêtes profilées.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>getTotalElapsedSecs()</methodname> retourne le nombre total de secondes
|
|
|
|
|
- écoulées pour chaque requête profilée.
|
|
|
|
|
|
|
+ <methodname>getTotalElapsedSecs()</methodname> retourne le nombre total de
|
|
|
|
|
+ secondes écoulées pour chaque requête profilée.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>getQueryProfiles()</methodname> retourne un tableau de tous les profils de
|
|
|
|
|
- requêtes.
|
|
|
|
|
|
|
+ <methodname>getQueryProfiles()</methodname> retourne un tableau de tous les
|
|
|
|
|
+ profils de requêtes.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>getLastQueryProfile()</methodname> retourne le profil de requête le plus
|
|
|
|
|
- récent, peut importe si la requête à fini de s'exécuter ou pas (si l'exécution
|
|
|
|
|
- n'est pas finie, le temps de fin sera <constant>NULL</constant>).
|
|
|
|
|
|
|
+ <methodname>getLastQueryProfile()</methodname> retourne le profil de requête le
|
|
|
|
|
+ plus récent, peut importe si la requête à fini de s'exécuter ou pas (si
|
|
|
|
|
+ l'exécution n'est pas finie, le temps de fin sera <constant>NULL</constant>).
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
- <para><methodname>clear()</methodname> nettoie tous les anciens profils de la pile.</para>
|
|
|
|
|
|
|
+ <para>
|
|
|
|
|
+ <methodname>clear()</methodname> nettoie tous les anciens profils de la pile.
|
|
|
|
|
+ </para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
</itemizedlist>
|
|
|
|
|
|
|
@@ -179,11 +198,11 @@ $profileur = $db->getProfiler();
|
|
|
<itemizedlist>
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>getQuery()</methodname> retourne le <acronym>SQL</acronym> de la requête sous forme de texte.
|
|
|
|
|
- Le texte de <acronym>SQL</acronym> d'une requête préparée avec des paramètres est le texte au
|
|
|
|
|
- moment où la requête a été préparée, donc il contient les emplacements de
|
|
|
|
|
- paramètre, mais pas les valeurs utilisées quand la déclaration est
|
|
|
|
|
- exécutée.
|
|
|
|
|
|
|
+ <methodname>getQuery()</methodname> retourne le <acronym>SQL</acronym> de la
|
|
|
|
|
+ requête sous forme de texte. Le texte de <acronym>SQL</acronym> d'une requête
|
|
|
|
|
+ préparée avec des paramètres est le texte au moment où la requête a été
|
|
|
|
|
+ préparée, donc il contient les emplacements de paramètre, mais pas les
|
|
|
|
|
+ valeurs utilisées quand la déclaration est exécutée.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
@@ -191,16 +210,16 @@ $profileur = $db->getProfiler();
|
|
|
<para>
|
|
<para>
|
|
|
<methodname>getQueryParams()</methodname> retourne un tableau des valeurs de
|
|
<methodname>getQueryParams()</methodname> retourne un tableau des valeurs de
|
|
|
paramètres utilisées lors de l'exécution d'une requête préparée. Ceci inclue à
|
|
paramètres utilisées lors de l'exécution d'une requête préparée. Ceci inclue à
|
|
|
- la fois les paramètres attachés et les arguments de de la méthode
|
|
|
|
|
- <methodname>execute()</methodname>. Les clés du tableau sont les positions (base 1) ou les
|
|
|
|
|
- noms des paramètres.
|
|
|
|
|
|
|
+ la fois les paramètres attachés et les arguments de la méthode
|
|
|
|
|
+ <methodname>execute()</methodname>. Les clés du tableau sont les positions
|
|
|
|
|
+ (base 1) ou les noms des paramètres.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>getElapsedSecs()</methodname> retourne le nombre de secondes d'exécution
|
|
|
|
|
- de la requête.
|
|
|
|
|
|
|
+ <methodname>getElapsedSecs()</methodname> retourne le nombre de secondes
|
|
|
|
|
+ d'exécution de la requête.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
</itemizedlist>
|
|
@@ -219,8 +238,8 @@ echo $query->getQuery();
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Si une page se génère lentement, utilisez le profileur pour déterminer le nombre
|
|
Si une page se génère lentement, utilisez le profileur pour déterminer le nombre
|
|
|
- total de requêtes, et ensuite passer d'une requête à l'autre pour voir laquelle a été la
|
|
|
|
|
- plus longue :
|
|
|
|
|
|
|
+ total de requêtes, et ensuite passer d'une requête à l'autre pour voir laquelle
|
|
|
|
|
+ a été la plus longue :
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|
|
@@ -267,9 +286,9 @@ echo "Requête la plus lente (SQL) : \n"
|
|
|
<title>Filtrer par temps d'exécution</title>
|
|
<title>Filtrer par temps d'exécution</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>setFilterElapsedSecs()</methodname> permet au développeur de définir un temps
|
|
|
|
|
- minimum d'exécution de la requête avant que celle-ci soit profilée. Pour retirer le
|
|
|
|
|
- filtre, passez une valeur <constant>NULL</constant> à la méthode.
|
|
|
|
|
|
|
+ <methodname>setFilterElapsedSecs()</methodname> permet au développeur de définir un
|
|
|
|
|
+ temps minimum d'exécution de la requête avant que celle-ci soit profilée. Pour
|
|
|
|
|
+ retirer le filtre, passez une valeur <constant>NULL</constant> à la méthode.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|
|
@@ -285,67 +304,71 @@ $profileur->setFilterElapsedSecs(null);
|
|
|
<title>Filtrer par type de requête</title>
|
|
<title>Filtrer par type de requête</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- <methodname>setFilterQueryType()</methodname> permet au développeur de définir quels types
|
|
|
|
|
- de requêtes doivent être profilées ; pour profiler des types multiples vous pouvez
|
|
|
|
|
- utiliser le OU logique. Les types de requêtes sont définis sous forme de constantes
|
|
|
|
|
- de <classname>Zend_Db_Profiler</classname> :
|
|
|
|
|
|
|
+ <methodname>setFilterQueryType()</methodname> permet au développeur de définir quels
|
|
|
|
|
+ types de requêtes doivent être profilées ; pour profiler des types multiples vous
|
|
|
|
|
+ pouvez utiliser le OU logique. Les types de requêtes sont définis sous forme de
|
|
|
|
|
+ constantes de <classname>Zend_Db_Profiler</classname> :
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::CONNECT</classname> : opérations de
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::CONNECT</constant> : opérations de
|
|
|
connexion ou de sélection de base de données.
|
|
connexion ou de sélection de base de données.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::QUERY</classname> : requête générale qui
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::QUERY</constant> : requête générale qui
|
|
|
ne correspond pas aux autres types.
|
|
ne correspond pas aux autres types.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::INSERT</classname> : toute requête qui
|
|
|
|
|
- ajoute des données dans la base de données, généralement INSERT.
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::INSERT</constant> : toute requête qui
|
|
|
|
|
+ ajoute des données dans la base de données, généralement
|
|
|
|
|
+ du <acronym>SQL</acronym> <acronym>INSERT</acronym>.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::UPDATE</classname> : toute requête qui
|
|
|
|
|
- met à jour des données, généralement UPDATE.
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::UPDATE</constant> : toute requête qui
|
|
|
|
|
+ met à jour des données, généralement du <acronym>SQL</acronym>
|
|
|
|
|
+ <acronym>UPDATE</acronym>.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::DELETE</classname> : toute requête qui
|
|
|
|
|
- efface des données, généralement DELETE.
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::DELETE</constant> : toute requête qui
|
|
|
|
|
+ efface des données, généralement du <acronym>SQL</acronym>
|
|
|
|
|
+ <constant>DELETE</constant>.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::SELECT</classname> : toute requête qui
|
|
|
|
|
- récupère des données, généralement SELECT.
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::SELECT</constant> : toute requête qui
|
|
|
|
|
+ récupère des données, généralement du <acronym>SQL</acronym>
|
|
|
|
|
+ <acronym>SELECT</acronym>.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
<listitem>
|
|
|
<para>
|
|
<para>
|
|
|
- <classname>Zend_Db_Profiler::TRANSACTION</classname> : toute requête
|
|
|
|
|
- qui concerne des opérations de transaction, comme start transaction, commit,
|
|
|
|
|
- ou rollback.
|
|
|
|
|
|
|
+ <constant>Zend_Db_Profiler::TRANSACTION</constant> : toute requête
|
|
|
|
|
+ qui concerne des opérations de transaction, comme start transaction,
|
|
|
|
|
+ commit, ou rollback.
|
|
|
</para>
|
|
</para>
|
|
|
</listitem>
|
|
</listitem>
|
|
|
</itemizedlist>
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Comme avec <methodname>setFilterElapsedSecs()</methodname>, vous pouvez retirer tous les
|
|
|
|
|
- filtres en passant <constant>NULL</constant> comme unique argument.
|
|
|
|
|
|
|
+ Comme avec <methodname>setFilterElapsedSecs()</methodname>, vous pouvez retirer
|
|
|
|
|
+ tous les filtres en passant <constant>NULL</constant> comme unique argument.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|
|
@@ -369,13 +392,14 @@ $profileur->setFilterQueryType(null);
|
|
|
<title>Récupérer les profils par type de requête</title>
|
|
<title>Récupérer les profils par type de requête</title>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
- Utiliser <methodname>setFilterQueryType()</methodname> peut réduire les profils générés.
|
|
|
|
|
- Cependant il est parfois utile de garder tous les profils et voir uniquement ceux
|
|
|
|
|
- dont on a besoin, à un moment donné. Une autre possibilité de
|
|
|
|
|
- <methodname>getQueryProfiles()</methodname> est qu'il est possible de filtrer à la volée, en
|
|
|
|
|
- passant un type de requête (ou une combinaison logique de types de requête) comme
|
|
|
|
|
- premier argument ; voir <xref linkend="zend.db.profiler.advanced.filtertype" /> pour
|
|
|
|
|
- la liste des constantes de types de requête.
|
|
|
|
|
|
|
+ Utiliser <methodname>setFilterQueryType()</methodname> peut réduire les profils
|
|
|
|
|
+ générés. Cependant il est parfois utile de garder tous les profils et voir
|
|
|
|
|
+ uniquement ceux dont on a besoin, à un moment donné. Une autre possibilité de
|
|
|
|
|
+ <methodname>getQueryProfiles()</methodname> est qu'il est possible de filtrer
|
|
|
|
|
+ à la volée, en passant un type de requête (ou une combinaison logique de types
|
|
|
|
|
+ de requête) comme premier argument ; voir
|
|
|
|
|
+ <link linkend="zend.db.profiler.advanced.filtertype">cette section</link>
|
|
|
|
|
+ pour la liste des constantes de types de requête.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|