欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          laravel中trait是什么

          在laravel中,trait是為類似PHP的單繼承語言而準備的一種代碼復用機制,trait用于減少單繼承語言的限制,使開發(fā)人員能夠自由地在不同層次結(jié)構(gòu)內(nèi)獨立的類中復用method,可以簡單理解為方便代碼復用的一種實現(xiàn)方式。

          laravel中trait是什么

          本文操作環(huán)境:Windows10系統(tǒng)、Laravel6版、Dell G3電腦。

          laravel中trait是什么

          Trait 是為類似 PHP 的單繼承語言而準備的一種代碼復用機制。Trait 為了減少單繼承語言的限制,使開發(fā)人員能夠自由地在不同層次結(jié)構(gòu)內(nèi)獨立的類中復用 method。 Trait 和 Class 組合的語義定義了一種減少復雜性的方式,避免傳統(tǒng)多繼承和 Mixin 類相關(guān)典型問題。

          首先我們得知道如何定義一個 Trait, 使用的關(guān)鍵字是 trait

          namespace AppTraits; trait HasCreator { }

          調(diào)用

          namespace App; use AppTraitsHasCreator; use IlluminateDatabaseEloquentModel; use IlluminateDatabaseEloquentSoftDeletes; class Post extends Model {     use HasCreator, SoftDeletes;     protected $fillable = ['title', 'user_id'];     protected static function boot()     {         parent::boot();         self::hasCreator();     } }

          將 Trait 中的方法合并到 模型中去了,要想使用就 use 一下,然后當自己聲明的一樣去調(diào)用就好了。

          這里面其實有個優(yōu)先級的:調(diào)用類 >Trait > 父類

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

          trait可以定義屬性和方法

          trait 中的 方法名:hasCreator()改為 bootHasCreator 在use時會默認調(diào)用

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號