Skip to content

Commit

Permalink
[fr] follows cakephp#3579
Browse files Browse the repository at this point in the history
  • Loading branch information
cake17 committed Dec 23, 2015
1 parent d252adb commit ea89af1
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 0 deletions.
5 changes: 5 additions & 0 deletions fr/appendices/2-8-migration-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ CakeTime
dernier argument. Les valeurs valides pour l'argument ``$options`` sont:
``group``, ``abbr``, ``before``, and ``after``.

Shell Helpers Ajoutés
=====================

Les applications de Console peuvent maintenant être des classes de helper qui encapsulent des blocks réutilisables de logique pour l'affichage. Consultez la section :doc:`/console-and-shells/helpers` pour plus d'informations.

I18nShell
=========

Expand Down
1 change: 1 addition & 0 deletions fr/console-and-shells.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1097,6 +1097,7 @@ Plus de sujets
.. toctree::
:maxdepth: 1

console-and-shells/helpers
console-and-shells/cron-jobs
console-and-shells/completion-shell
console-and-shells/code-generation-with-bake
Expand Down
120 changes: 120 additions & 0 deletions fr/console-and-shells/helpers.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
Shell Helpers
#############

.. versionadded:: 2.8
Les Shell Helpers ont été ajoutés dans la version 2.8.0

Les Shell Helpers vous permettent de packager du code complexe pour
générer un affichage. Les Shell Helpers sont accessibles et utilisables
à partir d'un shell ou d'une task::

// Affiche les données $data sous forme de tableau.
$this->helper('table')->output($data);

// Récupère le helper d'un plugin.
$this->helper('Plugin.HelperName')->output($data);

Vous pouvez aussi récupérer les instances des helpers et appeler toute méthode
publique qu'ils contiennent::

// Récupère et utilise le helper Progress.
$progress = $this->helper('Progress');
$progress->increment(10);
$progress->draw();

Créer des Helpers
=================

Bien que CakePHP contienne quelques shell helpers, vous pouvez en créer plus
dans votre application ou vos plugins. Par exemple nous allons créer un helper
simple pour générer des en-têtes sympas. Tout d'abord créez le fichier
**app/Console/Helper/HeadingHelper.php** et mettez ce qui suit dedans::

<?php
App::uses("BaseShellHelper", "Console/Helper");

class HeadingHelper extends BaseShellHelper
{
public function output($args)
{
$args += array('', '#', 3);
$marker = str_repeat($args[1], $args[2]);
$this->_consoleOutput->out($marker . ' ' . $args[0] . ' ' . $marker);
}
}

Nous pouvons ensuite utiliser ce nouvel helper dans une de nos commandes shell
en l'appelant::

// Avec ### de cahque côté
$this->helper('heading')->output('Ça marche!');

// Avec ~~~~ de chaque côté
$this->helper('heading')->output('Ça marche!', '~', 4);

Helpers Intégrés
================

Helper Table
------------

TableHelper aide à faire des tables ASCII artistiques bien formatées. Son
utilisation est très simple::

$data = array(
array('Header 1', 'Header', 'Long Header'),
array('short', 'Longish thing', 'short'),
array('Longer thing', 'short', 'Longest Value'),
);
$this->helper('table')->output($data);

// Affiche
+--------------+---------------+---------------+
| Header 1 | Header | Long Header |
+--------------+---------------+---------------+
| short | Longish thing | short |
| Longer thing | short | Longest Value |
+--------------+---------------+---------------+

Helper Progress
---------------

ProgressHelper peut être utilisé de deux manières. Le mode le plus simple vous
permet de fournir un callback qui est invoqué jusqu'à ce que la progression
soit finie::

$this->helper('progress')->output(function ($progress) {
// Faire le travail ici.
$progress->increment(20);
});

Vous pouvez contrôler encore plus la barre de progression en fournissant
les options supplémentaires:

- ``total`` Le nombre total de choses dans la barre de progression. Par défaut
à 100.
- ``width`` La largeur de la barre de progression. Defaults to 80.
- ``callback`` Le callback qui va être appelé dans une boucle pour faire avancer
la barre de progression.

Un exemple de toutes les options utilisables serait::

$this->helper('progress')->output(array(
'total' => 10,
'width' => 20,
'callback' => function ($progress) {
$progress->increment(2);
}
));

Le helper progress peut aussi être utilisé manuellement pour incrémenter
et re-rendre la barre de progression selon les besoins::

$progress = $this->helper('Progress');
$progress->init(array(
'total' => 10,
'width' => 20,
));

$this->helper->increment(4);
$this->helper->draw();

0 comments on commit ea89af1

Please sign in to comment.