PHP traitの継承的な書き方
traitの継承的なやり方について、適切な記事がなかったので自分なりのまとめ
php version
bash
# php -v
PHP 7.1.33 (cli) (built: Oct 31 2019 17:37:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans
traitの継承的な書き方
test1.php
<?php
namespace Traits;
trait test1
{
/**
* @return string
*/
public function execute(): string {
return 'a';
}
}
test2.php
<?php
namespace Traits;
trait test2
{
use \Traits\test1:
/**
* @return string
*/
public function execute(): string {
return 'b';
}
}
bash
# php -v
PHP 7.1.33 (cli) (built: Oct 31 2019 17:37:57) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans
test1.php
<?php
namespace Traits;
trait test1
{
/**
* @return string
*/
public function execute(): string {
return 'a';
}
}
test2.php
<?php
namespace Traits;
trait test2
{
use \Traits\test1:
/**
* @return string
*/
public function execute(): string {
return 'b';
}
}
継承したいtrait内で
対象のtraitをuseして関数を上書きしてあげる
Author And Source
この問題について(PHP traitの継承的な書き方), 我々は、より多くの情報をここで見つけました https://qiita.com/xy2e45/items/47995139944d82ab7ec5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .