ホームページ >バックエンド開発 >PHPの問題 >PHP の高度な構文 - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?

PHP の高度な構文 - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?

慕斯
慕斯オリジナル
2021-06-18 17:55:512273ブラウズ

前回の記事「PHPのセッション制御でセッションを使うには?」をご紹介しました。 》、この記事では引き続き PHP の高度な構文を紹介します - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP の高度な構文 - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?

PHP 高度な構文-trait

1.trait (特性)

Trait は多重継承の実装をシミュレートするために使用されます。

instance:instance

trait の定義は trait キーワードで始まる必要があり、その後の内部の記述メソッドは記述メソッドとまったく同じです。クラスの

通常、メンバー属性はトレイトに追加せず、メンバー メソッドのみを追加します

トレイトはインスタンス化できません

それを確認してみましょう。次のコードを例: 以下のコードをベースに、次のコードを追加します。

<?php
    trait linhuiyin
{
    function pome1()
{
    echo &#39;你是我种下的前因,我又是谁的果报 <br/>&#39;;
    }
}
$d = new linhuiyin();

エラーが発生します。コードの表示結果は次のとおりです。

PHP の高度な構文 - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?

したがって、実行できません。特性をインスタンス化します。これもその特性の 1 つです;

トレイト内のメソッドが (サブクラス) で使用される場合、メソッドは public である必要があります

以下のコードはデフォルトで public です;

特性は特性をネストできます

メソッド名の競合

use Dun,Sword {
Dun: :attack insteadof Sword;
Dun: :attack as DunAttack;
Sword: :attack as Sattack;
}

新しいフォルダーを作成し、ファイル内に 2 つのクラスを定義します。デモンストレーション 次のように:

<?php
    trait linhuiyin
{
    function pome1()
{
    echo &#39;你是我种下的前因,我又是谁的果报 <br/>&#39;;
    }
}
trait zhangailing
{
    function pome2( )
{
echo '于千万人之中,遇见你要遇见的人。
'; } } class poet { use linhuiyin; } $gailun = new poet(); $gailun->pome1();

結果は次のように表示されます:

PHP の高度な構文 - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?

推奨学習: "PHP ビデオ チュートリアル "

以上がPHP の高度な構文 - trait とは何ですか?どのように使用しますか?彼の特徴は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。