Позднее статическое связывание

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
nulled
Сообщения: 74
Зарегистрирован: 2018.10.30, 13:42

Позднее статическое связывание

Сообщение nulled »

Привет!

шторм подсвечивает static::$name; как неопределенную.

Как ему дать понять что она в классе наследнике, или пробел в знаниях, что я делаю не так?
Можно в модель добавить static $name, но шторм все равно не выводит список где она используется.

Код: Выделить всё

class Model
{
    public static function find()
    {
        echo static::$name;
    }
}

class Product extends Model
{
    protected static $name = 'Product';
}

Product::find();	
ps: в интерфейсе все ок:

Код: Выделить всё

trait BuilderTrait
{
    protected static function isActive(int $active) : bool
    {
        return $active == static::IS_ACTIVE ? true : false;
    }
}

class Customer extends ActiveRecord
{
    use BuilderTrait;
    const IS_ACTIVE = 1;
}
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Позднее статическое связывание

Сообщение samdark »

1. Никак.
2. А что, если в наследнике этой переменной не будет?
nulled
Сообщения: 74
Зарегистрирован: 2018.10.30, 13:42

Re: Позднее статическое связывание

Сообщение nulled »

samdark писал(а): 2020.01.14, 23:33 1. Никак.
2. А что, если в наследнике этой переменной не будет?
Тогда исключение
Ответить