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