婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在 PHP 和 Laravel 中使用 Traits的方法

在 PHP 和 Laravel 中使用 Traits的方法

熱門標簽:高德地圖標注店鋪收費嗎 泊頭在哪里辦理400電話 江門回撥外呼系統 高德地圖標注位置怎么標注 杭州語音電銷機器人 欣思維地圖標注 江西電銷機器人收費 天潤融通外呼系統好嗎 電銷機器人沒有效果怎么樣

 

事實上,PHP 作為一門編程語言存在的問題之一,就是你只能使用單繼承。這意味著一個類只能從另一個類中繼承。例如,可能希望從幾個不同的類繼承方法,以防止代碼重復。在 PHP 5.4 中 一個新的語言特性被添加進來,這就是眾所周知的 Traits,它在 Laravel 框架中被廣泛使用。

PHP 官方網站給出了 Traits 的定義,如下:

“ Trait 是單繼承語言(如 PHP )中的一種代碼復用機制。 Trai 的目的是減少單繼承語言的一些限制,能讓開發者自由的重用在不同的類層次結構下幾個獨立類中的方法。 Trait 的語義組合與類的定義在某種程度上減少了代碼的復雜度,避免了與多繼承和 Mixins 相關的一些典型問題。

Trait 與類非常相似,但它的目的僅僅是用更好、一致的方式匯聚一些方法。 Trait 本身不能被實例化。除了傳統繼承之外,它能水平組合行為,換言之,類的應用程序不需要繼承?!?/p>

PHP Traits是什么?

Trait 是一組簡單的包含在另一個類中的方法。 Trait 就像一個抽象類一樣,無法單獨實例化。

一個 Trait 示例就像下面這樣:

trait SharePost {
 public function share($item)
 {
  return 'share this post';
 }
}

然后,您可以在其他類中這樣使用 Trait :

class Post {
 use SharePost;
}
class Comment {
 use SharePost;
}

現在,如果您要從這些類中創建新對象,您會發現它們都可以使用 share() 方法:

$post = new Post;
echo $post->share(''); // 'share this post' 
$comment = new Comment;
echo $comment->share(''); // 'share this post'

Traits 如何工作 ?

從上面例子可以看到, 盡管 Post 和   Comment 本身沒有定義方法,但是他們可以調用   share() 方法。

Trait 是運行時 「復制和粘貼」 代碼的一種方式.

這意味著 Trait 被復制到 Post and  Comment ,因此當你實例化一個新實例, 可以直接調用 share() 方法。

我會定期檢查我的代碼以及如何構造新代碼,目的是為了將來可以快速構建新功能,并且可以輕松的開啟新項目。

那么,怎樣在laravel中使用traits呢?

首先我在項目的 Http 目錄下創建一個Traits文件夾,并且新建了一個名叫 BrandsTrait.php 的Trait文件

使用它就像這樣:

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;
  }
}

甚至, 如果您在模型中找到另一種與產品和品牌相互作用有關的通用方法,那么將代碼寫在該 trait 是個不錯的選擇。

 總結

以上所述是小編給大家介紹的在 PHP 和 Laravel 中使用 Traits的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

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

標簽:雙鴨山 江門 石嘴山 平涼 大同 駐馬店 內江 深圳

巨人網絡通訊聲明:本文標題《在 PHP 和 Laravel 中使用 Traits的方法》,本文關鍵詞  在,PHP,和,Laravel,中,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在 PHP 和 Laravel 中使用 Traits的方法》相關的同類信息!
  • 本頁收集關于在 PHP 和 Laravel 中使用 Traits的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 武宁县| 南京市| 庆安县| 罗甸县| 屏东市| 秭归县| 武鸣县| 兴文县| 大理市| 明水县| 巢湖市| 景东| 恩平市| 皮山县| 库尔勒市| 义马市| 仁寿县| 图们市| 彩票| 南投市| 汶上县| 双鸭山市| 灵山县| 图木舒克市| 嘉祥县| 阿尔山市| 阳朔县| 蓬溪县| 井研县| 定安县| 加查县| 嘉义县| 吴堡县| 上林县| 永福县| 焦作市| 辽中县| 黄骅市| 灵台县| 祁阳县| 龙南县|