Bonjour à tous.
J'ai un certain nombre de fonctions php simples, des snippets en quelque sorte, que je réutilise un peu partout dans mon appli.
Je précise que ces fonctions ne concernent pas que la vue, elle servent par exemple au niveau du contrôleur pour générer des documents en PDF.
Elles ne peuvent donc pas être remplacées pas des macros ou des extensions Twig.
J'ai créé donc une classe Tools, qui contient mes fonctions sous la forme de méthodes statiques.
Ces fonctions devant être accessibles pour plusieurs bundles, j'ai placé la classe à la racine de l'application :
Ainsi, je peux l'utiliser comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 // /src/MyApp/Tools/Tools.php namespace MyApp\Tools; class Tools { // ... static function age($date) { if ($date == null) return ''; $date = $date->format('Y-m-d H:i:s'); $age = date('Y') - date('Y', strtotime($date)); if (date('md') < date('md', strtotime($date))) { return $age - 1; } return $age; } static function formatNumeroSecu($numeroSecu) { $tmp = preg_match('/^([12])([0-9][0-9])(0[1-9]|1[0-2])(0[1-9]|[13456789][0-9]|2[023456789AB])([0-9][0-9][0-9])([0-9][0-9][0-9])([0-9][0-9])$/', $numeroSecu, $matches); unset($matches[0]); return implode(" ", $matches); } // ... }
J'ai procédé ainsi car j'ai vu plusieurs personnes utiliser des solutions semblables en cherchant sur le net.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 use MyApp\Tools\Tools; // ... $age = Tools::age($dateNaissance); $formatedNumeroSecu = Tools::formatNumeroSecu($numeroSecu);
Mais avant d'aller trop loin sur cette voie, pouvez vous m'indiquer si cette méthode est valable, ou si c'est une pratique à éviter? Dans ce cas, comment procédez-vous?
Je vous remercie par avance,
Soobook.
Partager