在&#34处执行此错误;执行"方法
Declaration must be compatible with 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"
我的班级,这个&#34;执行&#34;放置方法并获取错误:
<?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;
}
}
如果我检查BaseBlockService
namespace Sonata\BlockBundle\Block
类 private void btnRMAdd_Click(object sender, EventArgs e)
{
//add new row
dgItemGroup.Rows.Add();
fnInsertColumnsCombo();
}
private void fnInsertColumnsCombo()
{
DataGridViewComboBoxColumn combo1 = new DataGridViewComboBoxColumn();
combo1.Name = "GroupName";
combo1.HeaderText = "GroupName";
string sqlStr = "SELECT GroupID,GroupName FROM tblITEMGROUP ";
SqlCommand cmd = new SqlCommand(sqlStr, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
combo1.DataSource = dt;
combo1.DisplayMember = "GroupName";
combo1.ValueMember = "GroupID";
combo1.AutoComplete = true;
combo1.FlatStyle = FlatStyle.Flat;
dgItemGroup.Columns.Insert(0, combo1);
dgItemGroup.Columns[0].Width = 250;
}
,那就充满了错误&#34;说同样的方法&#34;声明必须兼容...&#34;。
我该如何解决?
答案 0 :(得分:0)
将use Symfony\Component\HttpFoundation\Response
替换为use Sonata\BlockBundle\Block\Response