Trait怎么在PHPLaravel中使用-創(chuàng)新互聯(lián)

這篇文章給大家介紹Trait怎么在PHP Laravel中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)專注于霍邱企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)?;羟窬W(wǎng)站建設(shè)公司,為霍邱等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

Trait是一種在單繼承語(yǔ)言(如PHP)中重用代碼的機(jī)制。Trait旨在通過(guò)使開(kāi)發(fā)人員能夠在生活在不同類層次結(jié)構(gòu)中的多個(gè)獨(dú)立類中自由地重用方法集來(lái)減少單繼承的某些限制。Traits和類組合的語(yǔ)義以降低復(fù)雜性的方式定義,并避免了與多重繼承和Mixins相關(guān)的典型問(wèn)題。

Trait類似于類,但僅用于以細(xì)粒度和一致的方式對(duì)功能進(jìn)行分組。無(wú)法自行實(shí)例化Trait。它是對(duì)傳統(tǒng)繼承的補(bǔ)充,可以實(shí)現(xiàn)行為的橫向組合; 也就是說(shuō),類成員的應(yīng)用程序不需要繼承。

什么是PHP Trait?

Trait僅僅是您希望包含在另一個(gè)類中的一組方法。與抽象類一樣,Trait不能自己實(shí)例化。

Trait的一個(gè)例子可以是:

trait SharePost {

 

 public function share($item)

 {

  return 'share this post';

 }

 

}

然后你可以把這個(gè)trait 包含在其他類中,就像這樣:

class Post {

 

 use SharePost;

 

}

 

class Comment {

 

 use SharePost;

 

}

現(xiàn)在,如果要從這些類中創(chuàng)建新對(duì)象,您會(huì)發(fā)現(xiàn)它們都有share()方法可用:

$post = new Post;

echo $post->share(''); 

 

$comment = new Comment;

echo $comment->share('');

trait 如何運(yùn)作?

從上面的示例中可以看出,盡管沒(méi)有定義該方法,但是對(duì)象Post和Comment對(duì)象都具有share()可用的方法。

Trait基本上只是一種在運(yùn)行時(shí)“復(fù)制和粘貼”代碼的方法。

這意味著Trait被復(fù)制到Post和Comment類中,因此當(dāng)您實(shí)例化一個(gè)新實(shí)例時(shí),share()方法代碼將可用。

我經(jīng)常檢查我的代碼以及如何構(gòu)建我的代碼,以便可以快速完成未來(lái)的功能添加,并且新項(xiàng)目可以輕松擴(kuò)展以前的想法。

如何在laravel中使用trait ?

我在我的Http目錄中創(chuàng)建了一個(gè)Trait目錄,其中有一個(gè)名為的TraitBrandsTrait.php

use App\Http\Traits\BrandsTrait;

class YourController extends Controller {

  use BrandsTrait;

  public function addProduct() {

    $brands = $this->brandsAll();

  }

}

這是我的BrandsTrait.php

<?php

namespace App\Http\Traits;use App\Brand;

trait BrandsTrait {

  public function brandsAll() {

    // 從品牌表中獲取所有品牌

    $brands = Brand::all();    return $brands;

  }

}

關(guān)于Trait怎么在PHP Laravel中使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

標(biāo)題名稱:Trait怎么在PHPLaravel中使用-創(chuàng)新互聯(lián)
本文來(lái)源:http://muchs.cn/article0/dheiio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)、云服務(wù)器、網(wǎng)站設(shè)計(jì)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化