PHP Trait機能と使用例分析

coldplay.xixi
リリース: 2023-04-09 08:24:01
転載
1992 人が閲覧しました

PHP Trait機能と使用例分析

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

Trait は、PHP のような単一継承言語用に用意されたコード再利用メカニズムです。

1. 導入されたトレイトに同じ名前のメソッドがある場合

trait A{
 public function eat(){
  echo 'A-eat';
 }
 
 public function say(){
  echo 'A-say';
 }
}
 
trait B{
 
 public function eat(){
  echo 'B-eat';
 }
 
 public function say(){
  echo 'B-say';
 }
}
 
class People{
 use A,B{
  A::eat insteadof B;
  B::eat as eatbak;
  B::say insteadof A;
 }
}
 
$people = new People();
$people->eat();
echo "<br/>";
$people->say();
echo "<br/>";
$people->eatbak();
ログイン後にコピー

実行結果:

A-eat
B-say
B-eat

2. アクセス制御を変更します

<?php
trait Test {
 public function say() {
  echo &#39;say hello&#39;;
 }
}
 
class People {
 use Test { say as protected; }
}
 
$people = new People();
 
$people->say();
ログイン後にコピー

実行結果:

致命的エラー: 保護されたメソッド People::say() を呼び出しますD:\phpdemo\trait_Demo.php の 14 行目の context ''

#関連する学習の推奨事項:

PHP プログラミングの入門から熟練度まで

#

以上がPHP Trait機能と使用例分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート