php traits の機能は、php などの単一継承言語向けに設計されており、開発者が異なる継承システムの複数のクラス間で一連のメソッドを簡単に共有して、発生する問題を軽減できるように設計されています。単一継承による制限。
Traits
は、php のような単一継承言語用に設計されています。これは、開発者が異なる継承システムの複数のクラス間で一連のメソッドを簡単に共有し、単一継承によって生じる制限を軽減できるように設計されています。特性とクラスを組み合わせることで、多重継承によって引き起こされる一連の問題を回避できます。
使用方法
まず、公式ドキュメントに記載されている例を見てください:
<?php trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } function getReturnDescription() { /*2*/ } } class ezcReflectionMethod extends ReflectionMethod { use ezcReflectionReturnInfo; /* ... */ } class ezcReflectionFunction extends ReflectionFunction { use ezcReflectionReturnInfo; /* ... */ } ?>
上記の例からわかるように、機能セット ezcReflectionReturnInfo
getReturnType
と getReturnDescription
の 2 つのメソッドが含まれており、次の 2 つのサブクラスは異なる親クラスから継承していますが、use ezcReflectionReturnInfo
メソッドで再利用できます。簡単で便利です。
#関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで
#注意事項
<?php trait A { public function smallTalk() { echo 'a'; } public function bigTalk() { echo 'A'; } } trait B { public function smallTalk() { echo 'b'; } public function bigTalk() { echo 'B'; } } class Talker { use A, B { B::smallTalk insteadof A; A::bigTalk insteadof B; } }
class Aliased_Talker { use A, B { B::smallTalk insteadof A; A::bigTalk insteadof B; B::bigTalk as talk; } }
class MyClass2 { use HelloWorld { sayHello as private myPrivateHello; } }
<?php trait Hello { public function sayHello() { echo 'Hello '; } } trait World { public function sayWorld() { echo 'World!'; } } trait HelloWorld { use Hello, World; }
以上がphp トレイトの機能は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。