Snippets et bonnes pratiques ?
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 :
Code:
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);
}
// ...
} |
Ainsi, je peux l'utiliser comme suit :
Code:
1 2 3 4 5 6
| use MyApp\Tools\Tools;
// ...
$age = Tools::age($dateNaissance);
$formatedNumeroSecu = Tools::formatNumeroSecu($numeroSecu); |
J'ai procédé ainsi car j'ai vu plusieurs personnes utiliser des solutions semblables en cherchant sur le net.
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.