濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > PHP Laravel中的Trait使用方法

PHP Laravel中的Trait使用方法

熱門(mén)標(biāo)簽:400 電話 辦理 智能電銷語(yǔ)音機(jī)器人資訊 蘇州外呼系統(tǒng)有效果嗎 兼職做地圖標(biāo)注好賺錢(qián)嗎 打開(kāi)百度地圖標(biāo)注 亳州企業(yè)外呼系統(tǒng) 海南外呼系統(tǒng)方案 山東電銷卡外呼系統(tǒng)原理是什么 地圖標(biāo)注怎么做商戶驗(yàn)證

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;

  }

}

您可能感興趣的文章:
  • 在 PHP 和 Laravel 中使用 Traits的方法
  • Laravel中Trait的用法實(shí)例詳解
  • laravel下trait的使用代碼實(shí)例詳解

標(biāo)簽:清遠(yuǎn) 綏化 紹興 金華 呼倫貝爾 萊蕪 安康 溫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP Laravel中的Trait使用方法》,本文關(guān)鍵詞  PHP,Laravel,中的,Trait,使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP Laravel中的Trait使用方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PHP Laravel中的Trait使用方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    东阳市| 谢通门县| 若尔盖县| 观塘区| 尚义县| 额济纳旗| 定兴县| 五台县| 蒲江县| 明光市| 陈巴尔虎旗| 德州市| 深州市| 天等县| 连平县| 桦南县| 迁安市| 定安县| 收藏| 英德市| 突泉县| 土默特左旗| 和平县| 延寿县| 舟山市| 万宁市| 韶关市| 疏附县| 金湖县| 高密市| 平度市| 南陵县| 桂平市| 江陵县| 东兴市| 西畴县| 巫溪县| 商都县| 望谟县| 成都市| 西华县|