ホームページ > バックエンド開発 > PHPチュートリアル > LaravelにおけるTraitの使用例を詳しく解説、laraveltrait_PHPチュートリアル

LaravelにおけるTraitの使用例を詳しく解説、laraveltrait_PHPチュートリアル

WBOY
リリース: 2016-07-12 08:56:48
オリジナル
1098 人が閲覧しました

LaravelでのTraitの詳しい使用例、laraveltrait

この記事では、LaravelでのTraitの使用法を例を挙げて説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

PHP 公式マニュアルの Trait の定義を見てください:

PHP 5.4.0 以降、PHP は traits と呼ばれるコード再利用の方法を実装しています。

Traits は、PHP のような単一継承言語用に用意されたコード再利用メカニズムです。トレイトは、単一継承言語の制約を軽減し、開発者が異なる階層内の独立したクラスでメソッド セットを自由に再利用できるように設計されています。特性とクラス構成のセマンティクスは、複雑さを軽減し、従来の多重継承とミックスインに関連する典型的な問題を回避する方法を定義します。

Trait はクラスに似ていますが、きめ細かく一貫した方法で機能を組み合わせるようにのみ設計されています。特性を単独でインスタンス化することはできません。これは、従来の継承に水平機能の組み合わせを追加します。つまり、アプリケーション クラスのメンバーを継承する必要がありません。

公式マニュアルには 2 つの例も記載されています:

トレイトの使用例

リーリー

特性の優先度

基本クラスから継承されたメンバーは、トレイトによって挿入されたメンバーによってオーバーライドされます。優先順位は、現在のクラスのメンバーがトレイトのメソッドをオーバーライドし、トレイトが継承されたメソッドをオーバーライドすることです。

基本クラスから継承されたメンバーは、挿入された SayWorld トレイトの MyHelloWorld メソッドによってオーバーライドされます。その動作は、MyHelloWorld クラスで定義されたメソッドと一致しています。優先順位としては、現在のクラスのメソッドが特性メソッドをオーバーライドし、特性メソッドが基本クラスのメソッドをオーバーライドします。

リーリー

上記のルーチンは次のように出力します:

リーリー

上記の内容は、PHP公式Webサイトのマニュアルからのものです。

Laravelでのトレイトの使用法

Trait 機能は、コードの再利用性を向上させるために Laravel で広く使用されています。この記事は、特定の Laravel プロジェクトのほんの一例です。

たとえば、PageController.php コントローラーには show メソッドがあります:

リーリー

ここでの PageRepository::find() メソッドは使用される Trait メソッドであり、PageRepository.php の名前空間を使用して宣言および導入されます。 リーリー

SlugRepositoryTrait のトレイトは find メソッドを定義します:

リーリー

このようにして、Trait をコントロールで使用することができ、コードの適切な再利用が実現します。

個人的な理解:

クラスで Trait を使用するということは、クラスにも Trait で定義された属性とメソッドがあることを意味します。 Traits の使用シナリオは、複数のクラスが同じ属性またはメソッドを使用する場合です。このとき、Traits を使用すると、継承されたクラスを継承することなく、これらの属性またはメソッドをクラスに簡単に追加できます。クラスを垂直方向に拡張し、トレイトはクラスを水平方向に拡張してコードの再利用を実現します。

PHPでのトレイトの使い方については、以前の記事「PHPでのトレイトの簡単な使用例」も参考にしてください

この記事はXiaotanブログより転載です http://www.tantengvip.com/2015/12/laravel-trait/

Laravel 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「Laravel フレームワークの概要と高度なチュートリアル」、「php 優れた開発フレームワークの概要」、「Smarty テンプレートの基本チュートリアル」、「php の日付と時刻」使い方まとめ』、『phpオブジェクト指向プログラミング入門チュートリアル』、『php文字列(ストリング)使い方まとめ』、『php+mysqlデータベース操作入門チュートリアル』、『php共通データベース操作スキルまとめ』

この記事で説明した内容が、Laravel フレームワークに基づいた PHP プログラムの設計に役立つことを願っています。

興味がありそうな記事:

    PHP の Laravel フレームワークと MySQL および Redis データベースの使用法およびデプロイメントの組み合わせ
  • PHP の Laravel フレームワークでメッセージ キュー キューと非同期キューを使用する方法
  • Laravel は移行コマンド プロンプトを実行します: No such fileまたはディレクトリソリューション
  • Laravel にファサードを登録する手順の詳細な説明
  • Laravel のコンストラクターの自動依存関係注入を実装する方法
  • Laravel の Caching を使用してデータをキャッシュしてデータベースクエリの圧力を軽減する方法
  • APP インターフェイス (API) を作成するlaravel ベース
  • PHP の Laravel フレームワークにおける Eloquent オブジェクト リレーショナル マッピングの使用の詳細な説明
  • Laravel フレームワーク データベースの CURD 操作とコヒーレント操作の概要
  • PHP の Laravel フレームワークにおけるイベント イベント操作の詳細な分析

http://www.bkjia.com/PHPjc/1111346.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1111346.html技術記事 LaravelにおけるTraitの使用例を詳しく解説、laraveltrait この記事ではLaravelにおけるTraitの使用例を例を交えて解説します。参考のために皆さんと共有してください。詳細は次のとおりです: PHP 公式マニュアルの Trait の定義を見てください...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート