最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP Laravel中的Trait使用方法

 更新時(shí)間:2019年01月20日 10:59:59   投稿:laozhang  
在本篇文章里小編給各位分享了關(guān)于PHP Laravel中的Trait使用方法和相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。

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

Trait類似于類,但僅用于以細(xì)粒度和一致的方式對(duì)功能進(jìn)行分組。無法自行實(shí)例化Trait。它是對(duì)傳統(tǒng)繼承的補(bǔ)充,可以實(shí)現(xiàn)行為的橫向組合; 也就是說,類成員的應(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)作?

從上面的示例中可以看出,盡管沒有定義該方法,但是對(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)建我的代碼,以便可以快速完成未來的功能添加,并且新項(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)文章

  • 解決PhpStorm64不能啟動(dòng)的問題

    解決PhpStorm64不能啟動(dòng)的問題

    這篇文章主要介紹了解決PhpStorm64不能啟動(dòng)的問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • php傳值方式和ajax的驗(yàn)證功能

    php傳值方式和ajax的驗(yàn)證功能

    這篇文章給大家介紹了php前臺(tái)傳值到后臺(tái)進(jìn)行驗(yàn)證的三種方式,以及ajax的驗(yàn)證功能,需要的朋友一起學(xué)習(xí)吧
    2017-03-03
  • 使用gd庫實(shí)現(xiàn)php服務(wù)端圖片裁剪和生成縮略圖功能分享

    使用gd庫實(shí)現(xiàn)php服務(wù)端圖片裁剪和生成縮略圖功能分享

    一般用戶上傳頭像時(shí),都會(huì)讓用戶自行裁剪圖片。那么php怎么實(shí)現(xiàn)這個(gè)功能呢?php中裁剪圖片主要使用gd庫的imagecopyresampled方法
    2013-12-12
  • CodeIgniter基于Email類發(fā)郵件的方法

    CodeIgniter基于Email類發(fā)郵件的方法

    這篇文章主要介紹了CodeIgniter基于Email類發(fā)郵件的方法,結(jié)合實(shí)例形式分析了CodeIgniter調(diào)用CI自帶的Email類實(shí)現(xiàn)發(fā)送郵件的相關(guān)使用技巧,需要的朋友可以參考下
    2016-03-03
  • yii的CURD操作實(shí)例詳解

    yii的CURD操作實(shí)例詳解

    這篇文章主要介紹了yii的CURD操作技巧,以實(shí)例形式詳細(xì)分析了基于yii框架的增刪改查的具體用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • php圖片水印添加、壓縮、剪切的封裝類實(shí)現(xiàn)

    php圖片水印添加、壓縮、剪切的封裝類實(shí)現(xiàn)

    這篇文章主要介紹了php圖片水印添加,壓縮,剪切的封裝類實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-09-09
  • php 無限分類 樹形數(shù)據(jù)格式化代碼

    php 無限分類 樹形數(shù)據(jù)格式化代碼

    這篇文章主要介紹了php 無限分類 樹形數(shù)據(jù)格式化代碼,需要的朋友可以參考下
    2016-10-10
  • phpmailer中文亂碼問題的解決方法

    phpmailer中文亂碼問題的解決方法

    這篇文章主要介紹了phpmailer中文亂碼問題的解決方法,需要的朋友可以參考下
    2014-04-04
  • PHP中的Memcache詳解

    PHP中的Memcache詳解

    這篇文章主要介紹了PHP中的Memcache,從Memcache簡介開始,詳細(xì)講解了如Memcache和memcached的區(qū)別、PHP的Memcache所有操作方法、每個(gè)操作方法的詳細(xì)解釋等,需要的朋友可以參考下
    2014-04-04
  • PHP實(shí)現(xiàn)WebSocket實(shí)例詳解

    PHP實(shí)現(xiàn)WebSocket實(shí)例詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)WebSocket實(shí)例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評(píng)論

军事| 哈巴河县| 乐山市| 微博| 固阳县| 青铜峡市| 海林市| 隆子县| 凤山市| 江山市| 云龙县| 密云县| 桦川县| 温州市| 津南区| 涿鹿县| 河源市| 阿合奇县| 桦甸市| 喀喇沁旗| 宁化县| 赣榆县| 丰镇市| 林西县| 丰都县| 青州市| 新宾| 华宁县| 墨竹工卡县| 原阳县| 上饶市| 沂源县| 高碑店市| 乐至县| 台湾省| 于都县| 新巴尔虎右旗| 英德市| 根河市| 南昌市| 凭祥市|