Maison  >  Article  >  cadre php  >  Qu'est-ce qu'un trait dans Laravel

Qu'est-ce qu'un trait dans Laravel

WBOY
WBOYoriginal
2022-01-13 17:08:162207parcourir

Dans Laravel, les traits sont un mécanisme de réutilisation de code préparé pour les langages à héritage unique comme PHP. Les traits sont utilisés pour réduire les restrictions des langages à héritage unique et permettre aux développeurs de travailler librement dans des classes indépendantes au sein de différentes hiérarchies. être simplement compris comme une méthode de mise en œuvre pour faciliter la réutilisation du code.

Qu'est-ce qu'un trait dans Laravel

L'environnement d'exploitation de cet article : système Windows 10, Laravel version 6, ordinateur Dell G3.

Qu'est-ce qu'un trait dans Laravel

Trait est un mécanisme de réutilisation de code préparé pour les langages à héritage unique comme PHP. Les traits sont conçus pour réduire les limitations des langages à héritage unique et permettre aux développeurs de réutiliser librement des méthodes dans des classes indépendantes au sein de différentes hiérarchies. La sémantique de la composition des traits et des classes définit un moyen de réduire la complexité et d'éviter les problèmes typiques associés à l'héritage multiple traditionnel et aux classes Mixin.

Il faut d'abord savoir comment définir un Trait. Le mot-clé utilisé est trait

namespace App\Traits;
trait HasCreator
{
}

Appelez

namespace App;
use App\Traits\HasCreator;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Post extends Model
{
    use HasCreator, SoftDeletes;
    protected $fillable = ['title', 'user_id'];
    protected static function boot()
    {
        parent::boot();
        self::hasCreator();
    }
}

pour fusionner les méthodes du Trait dans le modèle. Si vous souhaitez l'utiliser, utilisez-le et continuez comme vous le souhaitez. » a déclaré. Appelez-le.

Il y a en fait une priorité ici : appeler la classe >Trait > la classe parent

trait SoftDeletes
{
    protected $forceDeleting = false;
    public static function bootSoftDeletes()
    {
        ...
    }
    public function forceDelete()
    {
      ...
    }
}

trait peut définir des propriétés et des méthodes

Le nom de la méthode dans trait : hasCreator() est remplacé par bootHasCreator, qui sera appelé par défaut lorsque en utilisant

Recommandations associées : Les cinq derniers didacticiels vidéo Laravel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn