ホームページ  >  記事  >  PHPフレームワーク  >  Laravelのトレイトとは何ですか

Laravelのトレイトとは何ですか

WBOY
WBOYオリジナル
2022-01-13 17:08:162207ブラウズ

laravelでは、トレイトとはPHPなどの単一継承言語用に用意されたコード再利用の仕組みで、単一継承言語の制限を軽減し、開発者が異なる階層内で自由に作業できるようにするために使用されます。独立したクラスでは、コードの再利用を容易にするための実装方法として単純に理解できます。

Laravelのトレイトとは何ですか

#この記事の動作環境: Windows 10 システム、Laravel バージョン 6、Dell G3 コンピューター。

laravelのtraitとは

Traitとは、PHPなどの単一継承言語向けに用意されたコード再利用の仕組みです。トレイトは、単一継承言語の制限を軽減し、開発者が異なる階層内の独立したクラスでメソッドを自由に再利用できるように設計されています。特性とクラス構成のセマンティクスは、複雑さを軽減し、従来の多重継承や Mixin クラスに関連する典型的な問題を回避する方法を定義します。

まず、特性を定義する方法を知る必要があります。使用するキーワードは trait です。

namespace App\Traits;
trait HasCreator
{
}

呼び出し

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();
    }
}

を呼び出して、特性のメソッドをモデルにマージします。単に使用するだけです。それを宣言したとおりに呼び出します。

実際にはここに優先順位があります: クラス>Trait> 親クラスの呼び出し

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

trait はプロパティとメソッドを定義できます

trait のメソッド名: hasCreator () は次のように変更されます。 bootHasCreator を使用するとデフォルトで呼び出されます

関連する推奨事項: 最新の 5 つの Laravel ビデオ チュートリアル

以上がLaravelのトレイトとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。