Je suggère d'utiliser ce qui suit :
class MyClass
{
public static function getMyArray()
{
return array('test1','test2','test3');
}
}
De cette façon, vous disposez d'un tableau constant et vous avez la garantie que personne ne peut le modifier, pas même une méthode de la classe elle-même.
Possibilité de micro-optimisation (je ne sais pas si les compilateurs PHP optimisent beaucoup de nos jours) :
class MyClass
{
public static function getMyArray()
{
static $myArray = array('test1','test2','test3');
return $myArray;
}
}
1 votes
Ce n'est pas constant ? c'est seulement statique... imho vous pouvez manipuler le tableau si vous le pointez à travers la méthode... je ne pense pas qu'il soit possible de déclarer un type non-primitif comme constant en php...
0 votes
Je sais que ce n'est pas constant, c'est le but de ma question. Est-ce que la seule façon d'imiter un tableau avec un comportement constant
3 votes
À partir de PHP 5.6.0 (28 août 2014), il est possible de définir une constante de tableau ( see http://stackoverflow.com/a/30031923/1873197