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';
    }
}

継承したいtrait内で
対象のtraitをuseして関数を上書きしてあげる