Установить пакет Sonata Dashboard

Я хочу установить пакет Sonata Dashboard, поэтому следую этим шаги.

После установки и настройки получаю ошибку:

Ошибка компиляции: объявление Application\Sonata\DashboardBundle\Entity\Dashboard::getId() должно быть совместимо с Sonata\DashboardBundle\Model\Dashboard::getId(): ?int

Я использую Symfony 3.4, php 7.2 и composer.json выглядит так:

"require": {
    "php": ">=5.5.9",
    "doctrine/doctrine-bundle": "^1.6",
    "doctrine/orm": "^2.5",
    "enqueue/amqp-lib": "^0.8.23",
    "friendsofsymfony/rest-bundle": "^2.3",
    "friendsofsymfony/user-bundle": "^2.1",
    "incenteev/composer-parameter-handler": "^2.0",
    "jms/serializer-bundle": "^2.3",
    "liip/monitor-bundle": "^2.6",
    "nelmio/api-doc-bundle": "^3.2",
    "sensio/distribution-bundle": "^5.0.19",
    "sensio/framework-extra-bundle": "^5.0.0",
    "sonata-project/admin-bundle": "^3.34",
    "sonata-project/block-bundle": "^3.12",
    "sonata-project/cache": "1.x-dev",
    "sonata-project/cache-bundle": "2.4",
    "sonata-project/classification-bundle": "^3.6",
    "sonata-project/core-bundle": "^3.9",
    "sonata-project/dashboard-bundle": "^0.3.0",
    "sonata-project/datagrid-bundle": "2.3",
    "sonata-project/doctrine-extensions": "^1.0",
    "sonata-project/doctrine-orm-admin-bundle": "^3.5",
    "sonata-project/easy-extends-bundle": "^2.5",
    "sonata-project/formatter-bundle": "^3.4",
    "sonata-project/google-authenticator": "^2.1",
    "sonata-project/media-bundle": "^3.12",
    "sonata-project/news-bundle": "3.4",
    "sonata-project/notification-bundle": "^3.5",
    "sonata-project/seo-bundle": "^2.5",
    "sonata-project/user-bundle": "^4.1",
    "symfony/monolog-bundle": "^3.1.0",
    "symfony/polyfill-apcu": "^1.0",
    "symfony/swiftmailer-bundle": "^2.6.4",
    "symfony/symfony": "3.4.*",
    "symfony/templating": "3.4.8",
    "twig/twig": "^1.0||^2.0"
},

Есть идеи, что может быть не так?


person repincln    schedule 14.05.2018    source источник


Ответы (1)


Похоже, сгенерированный объект пропускает подсказки возвращаемого типа… вероятно, ошибка в комплекте Sonata Easy Extensions. Вы можете добавить подсказку типа, найдя и изменив Application\Sonata\DashboardBundle\Entity\Dashboard

person greg0ire    schedule 14.05.2018
comment
Теперь я изменяю функцию в Dashboard.php на: public function getId(): ?int {return $this-›id;}. Теперь все работает нормально, за исключением того, что когда я перехожу по URL-адресу: admin/sonata/dashboard/dashboard/create, он выдает мне еще одну ошибку: Ошибка типа: возвращаемое значение Sonata\DashboardBundle\Model\Dashboard::getEnabled() должно быть тип boolean, возвращается ноль - person repincln; 14.05.2018
comment
звучит как еще одна ошибка, здесь должно быть значение по умолчанию: github.com/sonata-project/SonataDashboardBundle/blob/master/src/ Вы можете переопределить установщик, чтобы установить его на то, что, по вашему мнению, должно быть по умолчанию, true или false. - person greg0ire; 14.05.2018