symfony : surcharger une fonction get dans le model

Pour mon projet actuelle, j’avais besoin de surcharger certaines fonctions get dans le model pour re-formater le résultat. Une simple appelle de la fonction en utilisant l’opérateur parent:: n’a pas fonctionné et j’obtiens une page vide.

public function getListStatuts()
{
$list = Statut::getLabelStatus(parent::getListStatuts());

return implode(", ",$list);
}

Sur la toile, j’ai trouvé plein de proposition est aucune des solutions proposés n’a réglé mon problème sauf une qui consiste à utilisé la fonction magique : __get.

public function getListStatuts()
{
$list = Statut::getLabelStatus(parent::__get('list_statuts'));

return implode(", ",$list);
}

Publicités

Une réflexion sur “symfony : surcharger une fonction get dans le model

  1. Bonjour,

    L’appel au parent n’est pas nécessaire et je pense que l’utilisation de la méthode _get de Doctrine (avec un seul underscore) est plus conseillée que la méthode __get de PHP car avec celle de PHP on perd tout les contrôles et traitements fait par doctrine.

    Je pense donc que $this->_get(‘list_statuts’) est plus approprié que parent::__get(‘list_statuts’)

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s