ホームページ  >  記事  >  バックエンド開発  >  PHP Trait機能と使用例分析

PHP Trait機能と使用例分析

coldplay.xixi
coldplay.xixi転載
2020-07-15 17:30:171982ブラウズ

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 までご連絡ください。