15
Янв
2018

Почему в PHPStorm на диаграммах не отображается композиция?

Читаю книгу М. Зандстра "PHP. Объекты, шаблоны и методики программирования" и набросав тестовый пример, решил постоить его диаграмму UML в PHPStorm. В меню PHPStorm-а нашел в меню соответствующий функционал: при клике на файле правой кнопкой мыши вызываю контекстное меню этого файла -> Diagrams -> Show Diagram.

В итоге получил диаграмму: введите сюда описание изображения

для следующего кода:

interface red {}

class primary implements red {
    private $moon;

function __construct( composcl $moon){
    $this->moon = $moon;
}

public function fokkd()
{
    return $this->moon->catg($this);
}

public function getfstr() :string
{
    return " First root class";
}
}

class childone extends primary {

}

class childtwo extends primary {

}

class composcl {
    public function catg( primary $obj) :string
    {
        return "Delegation in use: ".$obj->getfstr();
    }
}

$obj = new primary( new composcl() );
echo $obj->fokkd();

Но почему не отмечена композиция? (закрашенный ромб, идущий от класса primary к классу composcl). Ведь в классе primary есть постоянная ссылка на экземпляр класса composcl. PHPStorm не рисует полноценные UML? Или в моем коде ошибка? Какой программой или сервисом я могу просканировать проект и построить полноценную UML диаграмму для него?

Источник: https://ru.stackoverflow.com/questions/771145/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%B2-phpstorm-%D0%BD%D0%B0-%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%85-%D0%BD%D0%B5-%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F

Тебе может это понравится...

Добавить комментарий