Outils pour utilisateurs

Outils du site


devweb:laravel:trait (lu 977 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

devweb:laravel:trait [22-10-2019 10:49] (Version actuelle)
edmc73 créée
Ligne 1: Ligne 1:
 +====== Trait ======
 +
 +Il est intéressant d'utiliser les **Trait** mais il faut éviter d'utiliser un **constructeur** car si vous devez écrire un constructeur dans une class qui utilise votre trait, alors le constructeur de votre trait sera surchargé et donc non exécuté.
 +
 +Si toute fois vous souhaitez utiliser un constructeur dans votre trait et souhaitez initialiser des propriétés dans votre class, utilisez l'exemple suivant
 +
 +
 +<code php>
 +trait Json{
 +    public $meta;
 +    public $links;
 +    public $filters;
 +
 +    public function __construct(){
 +        $this->meta=[];
 + $this->links=[];
 +
 + if(method_exists($this, 'set_filters')){
 +     $this->filters = $this->set_filters();
 + }
 +    }
 +
 +
 +}
 +</code>
 +
 +
 +<code php>
 +class SiteController extends Controller
 +{
 +    use Json;
 +
 +    public function set_filters(){
 +        return [
 +            'doc' => [
 +                'in'=>'get',
 +                'description'=>'affiche la documentation en fonction de la méthode http demandée',
 +            ],
 +        ];
 +    }
 +}
 +</code>
  
devweb/laravel/trait.txt · Dernière modification: 22-10-2019 10:49 de edmc73