php - Sonata Block - execute shows "Declaration must be compatible.." -
getting error @ "execute" method.
declaration must compatible blockserviceinterface->execute(blockcontext : \sonata\blockbundle\block\blockcontextinterface, [response : \sonata\blockbundle\block\response = null]) my composer.json:
"require": { "php": ">=5.3.3", "symfony/symfony": "2.6.*", "doctrine/orm": "~2.2,>=2.2.3,<2.5", "doctrine/dbal": "<2.5", "doctrine/doctrine-bundle": "~1.2", "twig/extensions": "~1.0", "symfony/assetic-bundle": "~2.3", "symfony/swiftmailer-bundle": "~2.3", "symfony/monolog-bundle": "~2.4", "sensio/distribution-bundle": "~3.0,>=3.0.12", "sensio/framework-extra-bundle": "~3.0,>=3.0.2", "incenteev/composer-parameter-handler": "~2.0", "friendsofsymfony/user-bundle": "~1.3", "symfony/assetic-bundle": "2.1.*", "misd/guzzle-bundle": "^1.1", "liip/imagine-bundle": "^1.2", "sonata-project/admin-bundle": "2.3.3", "sonata-project/doctrine-orm-admin-bundle": "2.3.2" my class, "execute" method placed , getting error:
<?php namespace socca\userbundle\sonatacontroller; use socca\userbundle\form\type\uploadingformtype; use symfony\component\httpfoundation\response; use sonata\blockbundle\block\blockcontextinterface; use sonata\blockbundle\block\baseblockservice; use symfony\component\optionsresolver\optionsresolver; class uploadingservice extends baseblockservice { private $formfactory; public function getname() { return 'uploading'; } public function execute(blockcontextinterface $blockcontext, response $response = null) { $block = $blockcontext->getblock(); $form = $this->getformfactory()->createbuilder(new uploadingformtype(), null) ->getform(); if (!$block->getenabled()) { return new response(); } $settings = $blockcontext->getsettings(); $resolver = new optionsresolver(); $resolver->setdefaults($settings); $settings = $resolver->resolve($block->getsettings()); return $this->renderresponse('soccauserbundle:block:uploading.html.twig', array( 'block' => $blockcontext->getblock(), 'settings' => $settings, 'form' => $form->createview() ), $response); } /** * @return mixed */ public function getformfactory() { return $this->formfactory; } /** * @param mixed $formfactory */ public function setformfactory($formfactory) { $this->formfactory = $formfactory; } } if check baseblockservice class of namespace sonata\blockbundle\block, full of "wrong" methods saying same "declaration must compatible...". how can fix it?
replace use symfony\component\httpfoundation\responseby use sonata\blockbundle\block\response
Comments
Post a Comment