Ты как-то сложно описал, это просто частный случай этого: http://phpclub.ru/talk/threads/Новости-phpstorm.74350/page-2#post-675122 Хотя я сейчас в трекере не нашёл ничего другого аналогичного.
Кстати, у автора репорта скриншот странный: http://youtrack.jetbrains.com/issue/WI-7026#viewimage=screenshot1.png?file=74-58389&v=1&c=true&rw=753&rh=597 Проблема с подчёркиванием $this->_blahblah не соответствует описанному багу.
Он просто пример упростил походу. На скриншоте - результаты в реальном проекте.Кстати, у автора репорта скриншот странный: http://youtrack.jetbrains.com/issue/WI-7026#viewimage=screenshot1.png?file=74-58389&v=1&c=true&rw=753&rh=597 Проблема с подчёркиванием $this->_blahblah не соответствует описанному багу.
Что упростил, там у него проблемы с $this, а не другим объектом, у которого такой же родительский класс.Он просто пример упростил походу. На скриншоте - результаты в реальном проекте.
я просто описал свой случай, с которым я тоже столкнулся на дняхэто просто частный случай
Ага, туплю. Пора заканчивать рабочую неделюЧто упростил, там у него проблемы с $this, а не другим объектом, у которого такой же родительский класс.
Котлины пишут совсем другие люди. JetBrains же набирают всяких студентов и аспирантов с СПБГУ и ИТМО с их научными проектами и потом развивают в стенах компании. Так, к примеру, взялся MPS.Стыд и срам.
Не смог не высказаться. Ужас, блин. Как они котлины пишут с такими знаниями? )
Ну вот могли бы у них и уточнить, как устроено ООП в Java и всех языках, копирующих java-подход. За полтора-то года. =)Котлины пишут совсем другие люди.
public static function constructById($id) {
$instance = new static;
$instance->id = $id;
return $instance;
}
class Foo {
public static function constructById($id, $mode) {
$self = new static;
$self->id = $id;
$self->mode = $mode;
return $self;
}
public static function constructByProvider(Provider $provider) {
$self = new static;
$self->id = $provider->getId();
$self->mode = $provider->getMode();
return $self;
}
public static function constructByDatasource(Datasource $datasource) {
$self = new static;
$self->id = $provider->get('id');
$self->mode = $provider->get('mode');
$self->datasource = $datasource;
return $self;
}
}