Outils pour utilisateurs

Outils du site


devweb:laravel:trait (lu 5565 fois)

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

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();
	}
    }
 
 
}
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',
            ],
        ];
    }
}
devweb/laravel/trait.txt · Dernière modification: 22-10-2019 10:49 de edmc73