- defined: documentation ( source)
<?php
namespace Foo;
trait aTrait {
protected function one() {
echo "a-one ";
}
public function two() {
echo "a-two ";
}
public function three()
{
return defined('static::DELETED_AT') ? static::DELETED_AT : 'deleted_at';
}
}
namespace Bar;
use Foo\aTrait as bTrait;
trait aTrait {
use bTrait {
one as originalOne;
two as originalGetQualifiedDeletedAtColumn;
}
protected function one() {
echo "b-one";
$this->originalOne();
}
public function two() {
if (true) {
return $this->three();
}
$this->originalGetQualifiedDeletedAtColumn();
}
}
namespace Baz;
use Bar\atrait;
class Base {
use aTrait;
}
class Test extends Base {
public function __construct() {
$this->one();
}
}
$test = new Test();