<?php
trait A {
protected static $_a;
public static function setA($a)
{
static::$_a = $a;
}
public static function getA()
{
return static::$_a;
}
}
class B {
use A;
public function __construct()
{
var_dump(static::$_a);
}
}
A::setA('AAAA');
class C {
use A;
public function __construct()
{
var_dump(static::$_a);
}
}
class D extends B {}
new B;
new C;
new D;
A::setA('CCCCC');
new B;
Deprecated: Calling static trait method A::setA is deprecated, it should only be called on a class using the trait in /in/6ttgL on line 27
Deprecated: Accessing static trait property A::$_a is deprecated, it should only be accessed on a class using the trait in /in/6ttgL on line 8
NULL
NULL
NULL
Deprecated: Calling static trait method A::setA is deprecated, it should only be called on a class using the trait in /in/6ttgL on line 45
Deprecated: Accessing static trait property A::$_a is deprecated, it should only be accessed on a class using the trait in /in/6ttgL on line 8
NULL