Initial commit: apps.supersam24.ru
This commit is contained in:
commit
e955e1da36
6566 files changed
+1271095
No files matched your search
+9
@@ -0,0 +1,9 @@
|
||||
import sys, os
|
||||
|
||||
# Append the top level directory of the docs, so we can import from the config dir.
|
||||
sys.path.insert(0, os.path.abspath('..'))
|
||||
|
||||
# Pull in all the configuration options defined in the global config file..
|
||||
from config.all import *
|
||||
|
||||
language = 'fr'
|
||||
@@ -0,0 +1,5 @@
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: CakePHP DebugKit
|
||||
|
||||
/index
|
||||
+239
@@ -0,0 +1,239 @@
|
||||
Debug Kit
|
||||
#########
|
||||
|
||||
DebugKit est un plugin supporté par la core team qui fournit une toolbar pour
|
||||
vous aider à debugger les applications CakePHP plus facilement.
|
||||
DebugKit fournit une barre d'outils de débuggage et des outils de débuggage
|
||||
améliorés pour les applications CakePHP. Il vous permet de voir rapidement les
|
||||
données de configuration, les messages de logs, les requêtes SQL et des données
|
||||
de temps d'exécution pour votre application.
|
||||
|
||||
.. warning::
|
||||
|
||||
DebugKit est uniquement destiné à être utilisé dans des environnements de
|
||||
développement local à un seul utilisateur. Vous devez éviter d'utiliser
|
||||
DebugKit dans les environnements de développement partagés, les
|
||||
environnements de stagging où vous devez garder les données de configuration
|
||||
et les variables d'environnement cachées.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Par défaut DebugKit est installé avec le squelette d'application. Si vous
|
||||
le retirez et voulez le réinstaller, vous pouvez le faire en lançant ce qui
|
||||
suit à partir du répertoire ROOT de votre application (où le fichier
|
||||
composer.json est localisé)::
|
||||
|
||||
php composer.phar require --dev cakephp/debug_kit "~3.0"
|
||||
|
||||
Ensuite, vous devez activer le plugin en exécutant la ligne suivante::
|
||||
|
||||
bin/cake plugin load DebugKit
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
* ``DebugKit.ignoreAuthorization`` - Définie à true pour ignorer le plugin Cake Authorization uniquement pour les requêtes DebugKit. Par défaut à false.
|
||||
|
||||
Stockage de DebugKit
|
||||
====================
|
||||
|
||||
Par défaut, DebugKit utilise une petite base de données SQLite dans le
|
||||
répertoire ``/tmp`` de votre application pour stocker les données du panneau.
|
||||
Si vous voulez que DebugKit stocke ses données ailleurs, vous pouvez définir
|
||||
une connexion ``debug_kit``.
|
||||
|
||||
Configuration de Base de Données
|
||||
--------------------------------
|
||||
|
||||
Par défaut DebugKit va stocker les données du panneau dans une base de données
|
||||
SQLite dans le répertoire ``tmp`` de votre application. Si vous ne pouvez pas
|
||||
installer pdo_sqlite, vous pouvez configurer DebugKit pour utiliser une base
|
||||
de données différente en définissant une connexion ``debug_kit`` dans votre
|
||||
fichier **config/app.php**.
|
||||
|
||||
Utilisation de la Toolbar
|
||||
=========================
|
||||
|
||||
La Toolbar de DebugKit comprend plusieurs panneaux, qui apparaissent en
|
||||
cliquant sur l'icone CakePHP dans le coin en bas à droite de la fenêtre de
|
||||
votre navigateur. Une fois que la toolbar est ouverte, vous devriez voir une
|
||||
série de boutons. Chacun de ces boutons s'agrandit en un panneau avec des
|
||||
informations liées.
|
||||
|
||||
Chaque panneau vous permet d'inspecter plusieurs aspects de votre application:
|
||||
|
||||
* **Cache** Voir l'utilisation du cache pendant une requête et nettoyer les
|
||||
caches.
|
||||
* **Environment** Affiche les variables d'environnement liées à PHP + CakePHP.
|
||||
* **History** Affiche une liste des requêtes précédentes, et vous permet de
|
||||
charger et de voir les données de la toolbar des requêtes précédentes.
|
||||
* **Include** Voir les fichiers inclus groupés par type.
|
||||
* **Log** Affiche toute entrée faite dans les fichiers de log par cette requête.
|
||||
* **Packages** Affiche la liste des dépendances avec leur version courante et
|
||||
vous permet de vérifier les packages qui ne sont pas à jour.
|
||||
* **Mail** Affiche tous les emails envoyés pendant la requête et permet de
|
||||
prévisualiser les emails pendant le développement sans les envoyer.
|
||||
* **Request** Affiche les informations sur la requête courante, GET, POST, les
|
||||
paramètre de Cake, sur la Route Courante et les Cookies.
|
||||
* **Session** Affiche les informations actuellement dans la Session.
|
||||
* **Sql Logs** Affiche les logs SQL pour chaque connexion à la base de données.
|
||||
* **Timer** Affiche tout timers qui a été défini pendant la requête avec
|
||||
``DebugKit\DebugTimer``, et l'utilisation de la mémoire collectée avec
|
||||
``DebugKit\DebugMemory``.
|
||||
* **Variables** Affiche les variables de View définies dans le controller.
|
||||
|
||||
Typiquement, un panneau gère la collection et affiche un type unique
|
||||
d'information comme les Logs ou les informations de la Requête. Vous pouvez
|
||||
choisir de voir les panneaux de la toolbar ou ajouter vos panneaux
|
||||
personnalisés.
|
||||
|
||||
Utiliser le Panneau d'Historique
|
||||
================================
|
||||
|
||||
Le panneau d'historique est l'une des fonctionnalités les plus souvent mal
|
||||
comprise de DebugKit. Elle est un moyen de voir les données de la toolbar des
|
||||
requêtes précédentes, d'inclure les erreurs et les redirects.
|
||||
|
||||
.. figure:: ../_static/history-panel.png
|
||||
:alt: Capture d'écran du panneau historique dans debug kit.
|
||||
|
||||
Comme vous pouvez le voir, le panneau contient une liste des requêtes. Sur la
|
||||
gauche, vous pouvez voir un point marquant la requête actuelle. Cliquer
|
||||
sur n'importe quelles données de requête va charger les données du panneau
|
||||
pour cette requête. Quand les données historiques sont chargées, les titres
|
||||
du panneau seront colorés pour indiquer que des données alternatives ont été
|
||||
chargées.
|
||||
|
||||
.. only:: html or epub
|
||||
|
||||
.. video:: ../_static/history-panel-use.mp4
|
||||
:alt: Video du panneau historique en action.
|
||||
|
||||
Utiliser le Panneau Mail
|
||||
========================
|
||||
|
||||
Le panneau de mail vous permet de pister tous les emails envoyés pendant une
|
||||
requête.
|
||||
|
||||
.. only:: html or epub
|
||||
|
||||
.. video:: ../_static//mail-panel.mp4
|
||||
:alt: Video du panneau Mail en action.
|
||||
|
||||
La prévisualisation de mail vous permet de facilement vérifier les emails
|
||||
pendant le développement.
|
||||
|
||||
.. only:: html or epub
|
||||
|
||||
.. video:: ../_static/img/mail-previewer.gif
|
||||
:alt: Video du panneau Mail en action.
|
||||
|
||||
Développer vos Propres Panneaux
|
||||
===============================
|
||||
|
||||
Vous pouvez créer vos propres panneaux personnalisés pour DebugKit pour
|
||||
améliorer le debug de vos applications.
|
||||
|
||||
Créer une Classe Panel
|
||||
----------------------
|
||||
|
||||
Les Classes Panel doivent simplement être placées dans le répertoire
|
||||
**src/Panel**. Le nom de fichier doit correspondre au nom de la classe, pour
|
||||
que la classe ``MyCustomPanel`` s'attende à avoir un fichier au nom
|
||||
**src/Panel/MyCustomPanel.php**::
|
||||
|
||||
namespace App\Panel;
|
||||
|
||||
use DebugKit\DebugPanel;
|
||||
|
||||
/**
|
||||
* Mon panneau Personnalisé
|
||||
*/
|
||||
class MyCustomPanel extends DebugPanel
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
Remarquez que les panneaux personnalisés doivent étendre la classe
|
||||
``DebugPanel``.
|
||||
|
||||
Callbacks
|
||||
---------
|
||||
|
||||
Par défaut, les objets Panel ont deux callbacks, leur permettant de s'insérer
|
||||
dans la requête actuelle. Les panneaux s'inscrivent aux events
|
||||
``Controller.initialize`` et ``Controller.shutdown``. Si votre panneau doit
|
||||
s'inscrire à des events supplémentaires, vous pouvez utiliser la méthode
|
||||
``implementedEvents()`` pour définir tous les events auxquels votre panneau
|
||||
doit s'intéresser.
|
||||
|
||||
Vous devez vous référer aux panneaux intégrés pour avoir quelques exemples sur
|
||||
la façon de construire des panneaux.
|
||||
|
||||
Elements de Panneau
|
||||
-------------------
|
||||
|
||||
Chaque panneau s'attend à avoir un element de view qui rend le contenu du
|
||||
panneau. Le nom de l'element doit être avec une inflection en underscore du
|
||||
nom de la classe.
|
||||
Par exemple ``SessionPanel`` a un element nommé **session_panel.ctp**, et
|
||||
SqllogPanel a un element nommé **sqllog_panel.ctp**. Ces elements doivent être
|
||||
localisés à la racine de votre répertoire **src/Template/Element**.
|
||||
|
||||
Titres Personnalisés et Elements
|
||||
--------------------------------
|
||||
|
||||
Les panneaux doivent choisir leur titre et leur nom d'element par convention.
|
||||
Cependant, si vous avez besoin de choisir un nom ou un titre d'element
|
||||
personnalisé, vous pouvez définir des méthodes pour personnaliser le
|
||||
comportement de votre panneau:
|
||||
|
||||
- ``title()`` - Configure le titre qui est affiché dans la toolbar.
|
||||
- ``elementName()`` Configure l'element qui doit être utilisé pour un panneau
|
||||
donné.
|
||||
|
||||
Méthodes de Hook pour Panneaux
|
||||
------------------------------
|
||||
|
||||
Vous pouvez également implémenter les méthodes suivantes pour personnaliser
|
||||
la manière dont votre panneau se comporte et s'affiche:
|
||||
|
||||
* ``shutdown(Event $event)`` Cette méthode collecte et prépare les données pour
|
||||
panneau. Les données sont généralement stockées dans ``$this->_data``.
|
||||
* ``summary()`` Peut retourner une chaine de caractères contenu un résumé de
|
||||
données qui sera affiché dans la barre lorsque le panneau est replié. C'est
|
||||
souvent un compteur ou un court résumé.
|
||||
* ``data()`` Retourne les données du panneau pour être utilisées dans un
|
||||
element. Cette méthode vous laisse manipuler les données collectées dans
|
||||
la méthode ``shutdown()``. cette méthode **doit** retourner des données
|
||||
sérializables.
|
||||
|
||||
Panneaux dans d'autres Plugins
|
||||
------------------------------
|
||||
|
||||
Les panneaux fournis par les `plugins
|
||||
<https://book.cakephp.org/3.0/fr/plugins.html>`_ fonctionnent presque entièrement de
|
||||
la même façon que les autres plugins, avec quelques différences mineures: Vous
|
||||
devez définir ``public $plugin`` comme nom de répertoire de plugin, pour
|
||||
que les elements du panneau puissent être localisés au moment de les afficher::
|
||||
|
||||
namespace MyPlugin\Panel;
|
||||
|
||||
use DebugKit\DebugPanel;
|
||||
|
||||
class MyCustomPanel extends DebugPanel
|
||||
{
|
||||
public $plugin = 'MyPlugin';
|
||||
...
|
||||
}
|
||||
|
||||
Pour utiliser un panneau de plugin ou de l'application, mettez à jour
|
||||
la configuration du DebugKit de votre application pour ajouter le panneau::
|
||||
|
||||
// dans config/bootstrap.php
|
||||
Configure::write('DebugKit.panels', ['App', 'MyPlugin.MyCustom']);
|
||||
Plugin::load('DebugKit', ['bootstrap' => true]);
|
||||
|
||||
Ce qui est au-dessus charge tous les panneaux par défaut ainsi que le panneau
|
||||
``AppPanel``et le panneau ``MyCustomPanel`` depuis ``MyPlugin``.
|
||||
Reference in new issue
Block a user