Accueil > Programmation > PHP > CodeIgniter > Le spark du jour : debug-toolbar. (v. 1.0.7 au jour de la rédaction de cet (...)
Le spark du jour : debug-toolbar. (v. 1.0.7 au jour de la rédaction de cet article)
lundi 23 avril 2012, par
Présentation
Cette librairie permet très simplement d’avoir des informations sur la page courante et de visualiser le contenu de n’importe quel variable. Très utile dans la phase de développement, il est indispensable de la désactiver lors du passage en production.
Voici à quoi elle ressemble minimisée :
et dépliée :
Installation par sparks
Une ligne de commande suffit (merci, Sparks) :
php tools\spark install -v1.0.7 Debug-Toolbar
Vérifiez si une nouvelle version n’est pas sortie entre temps.
Utilisation dans les contrôleurs
Chargement du spark, de la librairie et activation de l’affichage du profileur :
- $this->load->spark('Debug-Toolbar/1.x.x');
- $this->load->library('console');
- $this->output->enable_profiler(true);
Ce simple code va permettre d’afficher des informations sur la page actuelle sous la forme d’une pseudo barre d’outil en surimpression de votre vue.
On peut ensuite afficher des informations supplémentaires dans le premier onglet de la barre grâce à la méthode « log ». On peut passer en paramètre un message textuel (pour tester, par exemple, l’entrée dans un bloc conditionnel), ou n’importe quel type de variable (dans ce cas, un print_r de la variable sera exécuté).
Les différents onglets
Les logs
Ici s’affichent les résultats de la méthode « Console::log ».
Les temps d’exécution
On y voit la liste des fichiers chargés avec les temps associés.
La charge mémoire
L’onglet est vide mais son titre affiche l’utilisation mémoire du script courant.
La liste des requêtes en base
C’est dit : la liste des requêtes avec le temps d’exécution associé.
config
Plein d’infos utiles comme la configuration de codeigniter, le contenu de la session ou encore le « $_POST ».
Les fichiers
La liste des fichiers utilisés.
Voici un exemple complet
- <?php
- class debug_toolbar extends CI_Controller {
- public function index()
- {
- $this->load->spark('Debug-Toolbar/1.0.7');
- $this->load->library('console');
- $this->output->enable_profiler(true);
- if(true){
- }
- $titi = new stdClass();
- $titi->a = "aaaa";
- $titi->z = "zzzz";
- $titi->e = "eeee";
- $titi->r = "rrrr";
- $titi->t = "tttt";
- $titi->y = "yyyy";
- $this->load->database();
- $this->load->view('welcome_message');
- }
- }
Résultat :
Console
log
Je passe tout le temps ici, non?
log
Array
(
[0] => aa
[1] => zz
[2] => ee
[3] => rr
[4] => tt
)
log
stdClass Object
(
[a] => aaaa
[z] => zzzz
[e] => eeee
[r] => rrrr
[t] => tttt
[y] => yyyy
)
log
DM_DB_Driver Object
(
[dbdriver] => mysql
[_escape_char] => `
[_like_escape_str] =>
[_like_escape_chr] =>
[delete_hack] => 1
[_count_string] => SELECT COUNT(*) AS
[_random_keyword] => RAND()
[use_set_names] =>
[ar_select] => Array
(
)
[ar_distinct] =>
[ar_from] => Array
(
)
[ar_join] => Array
(
)
[ar_where] => Array
(
)
[ar_like] => Array
(
)
[ar_groupby] => Array
(
)
[ar_having] => Array
(
)
[ar_keys] => Array
(
)
[ar_limit] =>
[ar_offset] =>
[ar_order] =>
[ar_orderby] => Array
(
)
[ar_set] => Array
(
)
[ar_wherein] => Array
(
)
[ar_aliased_tables] => Array
(
)
[ar_store_array] => Array
(
)
[ar_caching] =>
[ar_cache_exists] => Array
(
)
[ar_cache_select] => Array
(
)
[ar_cache_from] => Array
(
)
[ar_cache_join] => Array
(
)
[ar_cache_where] => Array
(
)
[ar_cache_like] => Array
(
)
[ar_cache_groupby] => Array
(
)
[ar_cache_having] => Array
(
)
[ar_cache_orderby] => Array
(
)
[ar_cache_set] => Array
(
)
[ar_no_escape] => Array
(
)
[ar_cache_no_escape] => Array
(
)
[username] => root
[password] =>
[hostname] => localhost
[database] => mapointeuse
[dbprefix] =>
[char_set] => utf8
[dbcollat] => utf8_general_ci
[autoinit] => 1
[swap_pre] =>
[port] =>
[pconnect] => 1
[conn_id] => Resource id #36
[result_id] => 1
[db_debug] => 1
[benchmark] => 0.013406991958618
[query_count] => 1
[bind_marker] => ?
[save_queries] => 1
[queries] => Array
(
[0] => INSERT INTO `ci_sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`, `user_data`) VALUES ('f2c0df1e5ca03fff7b36de5e2154011e', '127.0.0.1', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.162 Safari/535.19', 1335181635, '')
)
[query_times] => Array
(
[0] => 0.013406991958618
)
[data_cache] => Array
(
)
[trans_enabled] => 1
[trans_strict] => 1
[_trans_depth] => 0
[_trans_status] => 1
[cache_on] =>
[cachedir] =>
[cache_autodel] =>
[CACHE] =>
[_protect_identifiers] => 1
[_reserved_identifiers] => Array
(
[0] => *
)
[stmt_id] =>
[curs_id] =>
[limit_used] =>
[stricton] =>
)