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

WBOY
リリース: 2022-01-13 17:08:16
オリジナル
2129 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!